<!DOCTYPE html>
<!-- saved from url=(0033)https://ceshiren.com/t/topic/5528 -->
<html lang="zh-CN" class="desktop-view not-mobile-device text-size-normal no-touch discourse-no-touch whos-online-ring"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <title>测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区</title>
    <meta name="description" content="注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈 
1、Linux系统与shell环境准备
ls:  列出目录 
cd：切换目录 
pwd：显示目前的目录 
mkdir：创建一个新的目录 
rmdir：删除一个空的目录 
cp&amp;hellip;">
    <meta name="discourse_theme_ids" content="3">
    <meta name="discourse_current_homepage" content="latest">
    <meta name="generator" content="Discourse 2.7.0.beta1 - https://github.com/discourse/discourse version d627cc62335ef6c5889c294fcd2146ba7f513af9">
<link rel="icon" type="image/png" href="https://ceshiren.com/uploads/default/optimized/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a_2_32x32.png">
<link rel="apple-touch-icon" type="image/png" href="https://ceshiren.com/uploads/default/optimized/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a_2_180x180.png">
<meta name="theme-color" content="#ffffff">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=yes, viewport-fit=cover">
<link rel="canonical" href="https://ceshiren.com/t/topic/5528">
<script type="text/javascript" defer="" async="" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/uaest.js.下载"></script><script async="" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/analytics.js.下载"></script><script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/hm.js.下载"></script><script type="application/ld+json">{"@context":"http://schema.org","@type":"WebSite","url":"https://ceshiren.com","potentialAction":{"@type":"SearchAction","target":"https://ceshiren.com/search?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
<link rel="search" type="application/opensearchdescription+xml" href="https://ceshiren.com/opensearch.xml" title="测试人社区 Search">

    <meta name="csrf-param" content="authenticity_token">
<meta name="csrf-token" content="vMPaL2KOp43mKSNtVcS1wL0TC7EdjDDCGGaOMbO76vF38l+BF8vqFM9fcflPbHyLqiXaGxJAAg1mvOqlghJv+w==">

    <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/color_definitions_scheme__5993f71d6b2cb3fccbbb35f12d75238343f03d29.css.下载" media="all" rel="stylesheet" class="light-scheme">

  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/desktop_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="desktop" data-theme-id="3">


  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-cakeday_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-cakeday" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-canned-replies_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-canned-replies" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-checklist_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-checklist" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-details_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-details" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-footnote_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-footnote" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-local-dates_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-local-dates" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-presence_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-presence" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-solved_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-solved" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-whos-online_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="discourse-whos-online" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/lazy-yt_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="lazy-yt" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/poll_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="poll" data-theme-id="3">
  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/poll_desktop_bf4412659c4df77e579324c57fe47b29b5eeccb3.css.下载" media="all" rel="stylesheet" data-target="poll_desktop" data-theme-id="3">

  <link href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/desktop_theme_3_35e495da8d9df8c407ab277e43eb0194ca53e951.css.下载" media="all" rel="stylesheet" data-target="desktop_theme" data-theme-id="3">



      <meta name="fragment" content="!">


    

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/browser-detect-115ab5953de1b5bb122bfb26b757f5391dd8d1d2aef2b81baf7b59aee99d9f34.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/browser-detect-115ab5953de1b5bb122bfb26b757f5391dd8d1d2aef2b81baf7b59aee99d9f34.js.下载"></script>


    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/zh_CN-648cbb714c57c455cc07ab3a3b79c3156e81c058824d592ff329df526dec8e99.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/zh_CN-648cbb714c57c455cc07ab3a3b79c3156e81c058824d592ff329df526dec8e99.js.下载"></script>

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/ember_jquery-189e46ebcb33594b835e782fd1ce916ec750bc0cf980ebc4fb7796649161a18d.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/ember_jquery-189e46ebcb33594b835e782fd1ce916ec750bc0cf980ebc4fb7796649161a18d.js.下载"></script>

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/vendor-6fe3dd0886b189b17813c93b9df752abc0a33c577423b9cb4bf449ee18401160.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/vendor-6fe3dd0886b189b17813c93b9df752abc0a33c577423b9cb4bf449ee18401160.js.下载"></script>

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/pretty-text-bundle-a483a5512dbb2447ccaa8063e4798c5580d2f0a46921ac5e7f2cd34c7c63a78b.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/pretty-text-bundle-a483a5512dbb2447ccaa8063e4798c5580d2f0a46921ac5e7f2cd34c7c63a78b.js.下载"></script>

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/application-bd6ed652347208302845f7e2be3f2d2dbbbb72be7df2c0e46c18422a61188ff0.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/application-bd6ed652347208302845f7e2be3f2d2dbbbb72be7df2c0e46c18422a61188ff0.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-cakeday-b53de6f49fbc8a78c96a6dbbc287014634fd163146b4320e090c218be4bf2a68.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-cakeday-b53de6f49fbc8a78c96a6dbbc287014634fd163146b4320e090c218be4bf2a68.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-canned-replies-4da69f08d15bfb05ef282f4b35146b6a358c26fc81511ae517634dd9bbd039bc.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-canned-replies-4da69f08d15bfb05ef282f4b35146b6a358c26fc81511ae517634dd9bbd039bc.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-checklist-5067860a067cd7453c2ada64abb69c8cc6b1857707d20a70f16fc2a5f9a08daf.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-checklist-5067860a067cd7453c2ada64abb69c8cc6b1857707d20a70f16fc2a5f9a08daf.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-details-61554ea83ad59329c2d5c9f0390a0498f3e3665deb58d32dc608aeca24fa0bb9.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-details-61554ea83ad59329c2d5c9f0390a0498f3e3665deb58d32dc608aeca24fa0bb9.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-footnote-f4ca66fc01b097e4a29dde7491f6c24090d5da771a7a41157fd0820a775407bd.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-footnote-f4ca66fc01b097e4a29dde7491f6c24090d5da771a7a41157fd0820a775407bd.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-local-dates-8a8ebb91eb201ffcb5468eef86d9d51175cbd8e1ad3a0be3aff0d23f99886ee3.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-local-dates-8a8ebb91eb201ffcb5468eef86d9d51175cbd8e1ad3a0be3aff0d23f99886ee3.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-narrative-bot-d88c63e1a6fadc2e6371b706e54750b554e3ee890061223c9af0f8feeb89915a.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-narrative-bot-d88c63e1a6fadc2e6371b706e54750b554e3ee890061223c9af0f8feeb89915a.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-presence-c4f3a9cdab9b9f0dc05d96438adc92ebc4584698c130dece83eeaf729a566621.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-presence-c4f3a9cdab9b9f0dc05d96438adc92ebc4584698c130dece83eeaf729a566621.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-solved-80f6f3cc8438ac28002b7d1c5f3334d67d253da774dcb1f3180d5ea4ec6c0202.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-solved-80f6f3cc8438ac28002b7d1c5f3334d67d253da774dcb1f3180d5ea4ec6c0202.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-whos-online-cf15d000f2f20b3bdc8b6517fe443f1658c88c5e5157ed8ca2fbe57262b98702.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/discourse-whos-online-cf15d000f2f20b3bdc8b6517fe443f1658c88c5e5157ed8ca2fbe57262b98702.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/docker_manager-ad177f91e75af171560e0d79a81bd5ce7b5b01c80c9055a24d75e9370c9de28b.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/docker_manager-ad177f91e75af171560e0d79a81bd5ce7b5b01c80c9055a24d75e9370c9de28b.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/lazy-yt-13878a92cc5d5039d6f32688a86500182843ceac829df20e96639d8026a65a8a.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/lazy-yt-13878a92cc5d5039d6f32688a86500182843ceac829df20e96639d8026a65a8a.js.下载"></script>

      <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/poll-21d8d8dc72e860eaf3220345d088b553bbbdee21fb5826477b6f0a98f1217fea.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/poll-21d8d8dc72e860eaf3220345d088b553bbbdee21fb5826477b6f0a98f1217fea.js.下载"></script>


      <script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/444531d089947764546548d48f99a52c81cfc714.js.下载"></script>
      <script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/061f95363eafbffec050da4af55c9af9e7dd23ed.js.下载"></script>
      

<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/cc0d7d9ea866893fd349f1c65c7b3102692b73ac.js.下载"></script>

<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/8d9a6076e3d11b20d72b40d35b4f42fe788f5bd8.js.下载"></script>

    
    <meta id="data-ga-universal-analytics" data-tracking-code="UA-149601593-1" data-json="{&quot;cookieDomain&quot;:&quot;auto&quot;,&quot;userId&quot;:4218}" data-auto-link-domains="">

  <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/google-universal-analytics-v3-706f1d28f0a97f67a47515c96189277240ec4940d968955042066d7873fd1fe8.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/google-universal-analytics-v3-706f1d28f0a97f67a47515c96189277240ec4940d968955042066d7873fd1fe8.js.下载"></script>


    <link rel="manifest" href="https://ceshiren.com/manifest.webmanifest" crossorigin="use-credentials">



        <link rel="alternate" type="application/rss+xml" title=" &#39;测试开发班录播课程命令及URL汇总&#39;的RSS源" href="https://ceshiren.com/t/topic/5528.rss">
    <meta property="og:site_name" content="测试人社区">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://ceshiren.com/uploads/default/optimized/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9_2_1024x595.png">
<meta property="og:image" content="https://ceshiren.com/uploads/default/optimized/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9_2_1024x595.png">
<meta property="og:url" content="https://ceshiren.com/t/topic/5528">
<meta name="twitter:url" content="https://ceshiren.com/t/topic/5528">
<meta property="og:title" content="测试开发班录播课程命令及URL汇总">
<meta name="twitter:title" content="测试开发班录播课程命令及URL汇总">
<meta property="og:description" content="注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈  1、Linux系统与shell环境准备 ls:  列出目录  cd：切换目录  pwd：显示目前的目录  mkdir：创建一个新的目录  rmdir：删除一个空的目录  cp: 复制文件或目录  rm: 移除文件或目录  mv: 移动文件与目录，或修改文件与目录的名称  Shell基础 常见的shell  Bourne Shell（/usr/bin/sh或/bin/sh）  Bourne Again Shell（/bin/bash）  C Shell（/usr/bin/csh）  K Shell（/usr/bin/ksh）  Shell for Root（/sbin/sh  运行shell   chmod +x ./test.sh  #使脚本具有执行权限  ./test.sh  #执行脚本    /bin/sh test.sh    Linux常用命令 文件 ls:  列出目录  cd：切换目录  pwd：显示目前的目录  mkdir：创建一个新的目录  rmdir：删除一个空的目录  cp: 复制文件或目录  rm: ...">
<meta name="twitter:description" content="注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈  1、Linux系统与shell环境准备 ls:  列出目录  cd：切换目录  pwd：显示目前的目录  mkdir：创建一个新的目录  rmdir：删除一个空的目录  cp: 复制文件或目录  rm: 移除文件或目录  mv: 移动文件与目录，或修改文件与目录的名称  Shell基础 常见的shell  Bourne Shell（/usr/bin/sh或/bin/sh）  Bourne Again Shell（/bin/bash）  C Shell（/usr/bin/csh）  K Shell（/usr/bin/ksh）  Shell for Root（/sbin/sh  运行shell   chmod +x ./test.sh  #使脚本具有执行权限  ./test.sh  #执行脚本    /bin/sh test.sh    Linux常用命令 文件 ls:  列出目录  cd：切换目录  pwd：显示目前的目录  mkdir：创建一个新的目录  rmdir：删除一个空的目录  cp: 复制文件或目录  rm: ...">
<meta name="twitter:label1" value="阅读时间">
<meta name="twitter:data1" value="8 mins 🕑">
<meta name="twitter:label2" value="赞">
<meta name="twitter:data2" value="18 ❤">
<meta property="article:published_time" content="2020-08-18T06:03:56+00:00">
<meta property="og:ignore_canonical" content="true">



    <script type="application/ld+json">{"@context":"http://schema.org","@type":"QAPage","name":"测试开发班录播课程命令及URL汇总","mainEntity":{"@type":"Question","name":"测试开发班录播课程命令及URL汇总","text":"注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈\n\n1、Linux系统与shell环境准备\n\nls:  列出目录\n\ncd：切换目录\n\npwd：显示目前的目录\n\nmkdir：创建一个新的目录\n\nrmdir：删除一个空的目录\n\ncp&hellip;","upvoteCount":17,"answerCount":0,"dateCreated":"2020-08-18T06:03:56.849Z","author":{"@type":"Person","name":"瓶子"}}}</script>

    <meta id="data-discourse-setup" data-base-url="https://ceshiren.com" data-base-uri="" data-environment="production" data-letter-avatar-version="5_3106a87f3677dd35281fbec33608aa01" data-markdown-it-url="/assets/markdown-it-bundle-594b6aff538df518e99baf003668a7ba3c7374738fa4b6de1cc99e6390657998.js" data-service-worker-url="service-worker-c8000968830b6f6bd33f1e842dffdd569664119d449f93dc7d428d963a71635d.js" data-default-locale="zh_CN" data-asset-version="97ee95604814dff4504d42e043138bcf" data-disable-custom-css="false" data-highlight-js-path="/highlight-js/ceshiren.com/1598b1d1e16d62bb89df00299bbf4d69f7e9119b.js" data-svg-sprite-path="/svg-sprite/ceshiren.com/svg-3-1189c56dac250fd4b7f26bd85d850d55a48f8147.js" data-enable-js-error-reporting="true" data-color-scheme-is-dark="false" data-user-dark-scheme-id="-1">

  <style>@font-face{font-family:uc-nexus-iconfont;src:url(chrome-extension://pogijhnlcfmcppgimcaccdkmbedjkmhi/res/font_9qmmi8b8jsxxbt9.woff) format('woff'),url(chrome-extension://pogijhnlcfmcppgimcaccdkmbedjkmhi/res/font_9qmmi8b8jsxxbt9.ttf) format('truetype')}</style><script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/svg-3-1189c56dac250fd4b7f26bd85d850d55a48f8147.js.下载"></script><style id="image-sizing-hack">#reply-control .d-editor-preview img:not(.thumbnail):not(.ytp-thumbnail-image), .cooked img:not(.thumbnail):not(.ytp-thumbnail-image) {max-width:800px;max-height:10000px;}</style><script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/jquery.magnific-popup.min.js.下载"></script><script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/1598b1d1e16d62bb89df00299bbf4d69f7e9119b.js.下载"></script></head>

  <body class="archetype-regular category category-sdet-python docked">
    
    

      
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/2967e3a353f3495d2fed67e1be3ab8c505f44611.js.下载"></script>

<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/8c90fdca7c652cb35d814070fb066255ac487121.js.下载"></script>
      

    <section id="main" class="ember-application">
    <div class="ember-view" id="ember4"><!---->
<!---->
<div id="ember5" class="d-header-wrap ember-view"><header class="d-header clearfix"><div class="wrap"><div class="contents clearfix">
    <div class="title"><a href="https://ceshiren.com/" data-auto-route="true"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/809c63f904a37bc0c6f029bbaf4903c27f03ea8a.png.下载" width="36" alt="测试人社区" id="site-logo" class="logo-small"></a></div>
      <div class="extra-info-wrapper two-rows"><div class="extra-info two-rows"><div class="title-wrapper"><h1 class="header-title"><div class="topic-statuses"><a title="本主题已置顶；它将始终显示在它所属分类的顶部" class="topic-status"><svg class="fa d-icon d-icon-thumbtack svg-icon svg-node" aria-hidden="true"><use xlink:href="#thumbtack"></use></svg></a></div><a class="widget-link topic-link" href="https://ceshiren.com/t/topic/5528" title="" data-topic-id="5528"><span>测试开发班录播课程命令及URL汇总</span></a></h1><div class="categories-wrapper"><a class="badge-wrapper bullet" href="https://ceshiren.com/c/sdet-python/7"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge restricted"><svg class="fa d-icon d-icon-lock svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#lock"></use></svg><span class="category-name">Python测试开发班</span></span></a></div></div></div></div>
    <div class="panel clearfix"><span class="header-buttons"></span><ul role="navigation" class="icons d-header-icons"><li class="header-dropdown-toggle search-dropdown"><a href="https://ceshiren.com/search" data-auto-route="true" title="搜索主题、帖子、用户或分类" aria-label="搜索主题、帖子、用户或分类" id="search-button" class="icon btn-flat"><svg class="fa d-icon d-icon-search svg-icon svg-node" aria-hidden="true"><use xlink:href="#search"></use></svg></a></li><li class="header-dropdown-toggle hamburger-dropdown"><a href="https://ceshiren.com/t/topic/5528" data-auto-route="true" title="转到另一个主题列表或分类" aria-label="转到另一个主题列表或分类" id="toggle-hamburger-menu" class="icon btn-flat"><svg class="fa d-icon d-icon-bars svg-icon svg-node" aria-hidden="true"><use xlink:href="#bars"></use></svg></a></li><li id="current-user" class="header-dropdown-toggle current-user"><a href="https://ceshiren.com/u/1152233756" title="星光灏然" data-auto-route="true" class="icon"><div><img alt="" width="32" height="32" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/32.png.下载" title="星光灏然" class="avatar"></div></a></li></ul></div>
  </div></div></header></div>

<!---->

<div id="main-outlet" class="wrap" role="main">
  <!---->
  <div class="container">
      <div id="ember6" class="ember-view"><div class="slide">
    <ul class="slide-auto">
        <li><a href="https://ceshiren.com/t/topic/7" target="_blank">
                <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/329806ee82fc410c920a2748018b090be4074c80.jpeg.下载">
            </a>
        </li>
        <li><a href="https://ceshiren.com/t/topic/7229" target="_blank">
                <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/c86874aad0434ab5148d840a48ff47f8a46a32e5.jpeg.下载">
            </a></li>
        <li><a href="https://ceshiren.com/t/topic/8411" target="_blank">
                <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/49b6a6dca30012f85da85ce36315cbbb3bf81607.jpeg.下载">
            </a></li>
    </ul>
</div>
</div>
    <div id="ember7" class="controls ember-view"><!----></div>
    <div id="ember8" class="ember-view"><!----></div>
    <div id="ember9" class="ember-view"><!----></div>
    <div id="ember10" class="hidden create-topics-notice ember-view"><!----></div>
    <!---->
  </div>
  <div id="ember11" class="regular read_restricted category-sdet-python ember-view">    <div id="ember12" class="ember-view"></div>
    <div class="container">
      <div id="ember13" class="ember-view"><!----></div>
    </div>

<!---->
  <span id="ember14" class="ember-view"><!----></span>

<div id="topic-title" class="ember-view"><div class="container">
  <div class="title-wrapper">
              <h1 data-topic-id="5528">
                <!---->

              <div id="ember16" class="topic-statuses ember-view"><!----><!----><!----><!----><!----><a href="https://ceshiren.com/t/topic/5528" title="本主题已置顶；它将始终显示在它所属分类的顶部" class="topic-status"><svg class="fa d-icon d-icon-thumbtack svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#thumbtack"></use></svg></a><!----><!----></div>
              <a href="https://ceshiren.com/t/topic/5528" class="fancy-title" data-ember-action="" data-ember-action-17="17">
                测试开发班录播课程命令及URL汇总
              </a>

<!---->          </h1>

          <div id="ember18" class="topic-category ember-view">  <a class="badge-wrapper bullet" href="https://ceshiren.com/c/sdet-python/7"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge restricted"><svg class="fa d-icon d-icon-lock svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#lock"></use></svg><span class="category-name">Python测试开发班</span></span></a>
<div class="topic-header-extra">
    <div class="list-tags">
      <!---->
    </div>
    <!---->
</div>

<span id="ember19" class="ember-view"><!----></span>
</div>

  </div>
  <span id="ember20" class="ember-view"><!----></span>
</div>
</div>
<!---->

    <div class="container posts">
      <div class="selected-posts hidden">
        <div id="ember21" class="ember-view"><p>
  <span id="ember22" class="ember-view">已选择 <b>0</b> 个帖子。
</span>
</p>

  <p>
    <a class="select-all" href="https://ceshiren.com/t/topic/5528" data-ember-action="" data-ember-action-23="23">
      全选
    </a>
  </p>

<!---->
<!---->
<!---->
<!---->
<!---->
<p class="cancel">
  <a href="https://ceshiren.com/t/topic/5528" data-ember-action="" data-ember-action-24="24">
    取消选择
  </a>
</p>
</div>
      </div>

<div id="ember25" class="topic-navigation ember-view">          <div id="ember104" class="ember-view"><div class="timeline-container"><div class="topic-timeline"><div class="timeline-controls"><span></span></div><div class="timeline-scrollarea-wrapper"><div class="timeline-date-wrapper"><a class="widget-link start-date" href="https://ceshiren.com/t/topic/5528" title="2020年8月"><span class="d-label">2020年8月</span></a></div><div style="height: 300px" class="timeline-scrollarea"><div style="height: 0px" class="timeline-padding"></div><div style="height: 50px" class="timeline-scroller"><div class="timeline-handle"></div><div class="timeline-scroller-content"><div class="timeline-replies">1 / 7</div><div class="timeline-ago">2020年8月</div></div></div><div style="height: 250px" class="timeline-padding"></div></div><div class="timeline-date-wrapper"><a class="widget-link now-date" href="https://ceshiren.com/t/topic/5528" title="1月9日"><span class="d-label">1月9日</span></a></div></div><div class="timeline-footer-controls"><button class="widget-button btn btn-default create reply-to-post no-text btn-icon" aria-label="开始撰写此主题的回复" title="开始撰写此主题的回复"><svg class="fa d-icon d-icon-reply svg-icon svg-node" aria-hidden="true"><use xlink:href="#reply"></use></svg></button><div class="widget-component-connector" style="display: inline-flex;"><div id="ember106" class="topic-notifications-button ember-view">  <div id="ember107" class="select-kit single-select dropdown-select-box notifications-button topic-notifications-options has-selection ember-view">  <button data-name="regular" data-value="1" role="button" data-select-kit-id="ember107-header" aria-expanded="false" aria-haspopup="" aria-owns="[data-select-kit-id=ember107-body]" tabindex="0" id="ember108" class="select-kit-header single-select-header btn-default dropdown-select-box-header btn no-text btn-icon ember-view" type="button"><!---->

    <div tabindex="0" class="select-kit-selected-name selected-name choice">
      <svg class="fa d-icon d-icon-d-regular svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#far-bell"></use></svg>
    </div>


<!----></button>

<div data-select-kit-id="ember107-body" id="ember110" class="select-kit-body ember-view"><!----></div>
  <div class="select-kit-wrapper"></div>
</div>
</div></div></div></div></div></div>

</div>
      <div class="row">
        <section class="topic-area" id="topic" data-topic-id="5528">

          <div class="posts-wrapper">
            <div id="ember28" class="loading-container ember-view">  
</div>

            <span id="ember29" class="ember-view"><!----></span>

              <div id="ember30" class="ember-view"><div class="post-stream"><div class="topic-post clearfix topic-owner group-ceba regular"><article id="post_1" data-post-id="13942" data-topic-id="5528" data-user-id="7" class="boxed onscreen-post"><a href="https://ceshiren.com/t/topic/5528" aria-hidden="true" tabindex="-1" class="tabLoc"></a><div class="row"><div class="topic-avatar"><a class="trigger-user-card main-avatar" href="https://ceshiren.com/u/mayunlong" data-user-card="mayunlong" aria-hidden="true"><img alt="" width="45" height="45" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/9557_2.png.下载" class="avatar"></a><div class="poster-avatar-extra"></div></div><div class="topic-body clearfix"><div class="topic-meta-data"><div class="names trigger-user-card"><span class="first username staff admin moderator ceba"><a href="https://ceshiren.com/u/mayunlong" data-user-card="mayunlong">mayunlong</a><span title="用户是版主" class="svg-icon-title"><svg class="fa d-icon d-icon-shield-alt svg-icon svg-node" aria-hidden="true"><use xlink:href="#shield-alt"></use></svg></span></span><span class="second full-name"><a href="https://ceshiren.com/u/mayunlong" data-user-card="mayunlong">瓶子</a></span><span class="user-title"><a class="user-group" href="https://ceshiren.com/g/ceba" data-group-card="ceba">霍格沃兹测试学院教务处</a></span></div><div class="post-infos"><div class="post-info edits"><a title="最后修改于 2020年11月21日 23:36" href="https://ceshiren.com/t/topic/5528#">8 <svg class="fa d-icon d-icon-pencil-alt svg-icon svg-node" aria-hidden="true"><use xlink:href="#pencil-alt"></use></svg></a></div><div class="post-info post-date"><a class="post-date" href="https://ceshiren.com/t/topic/5528?u=1152233756" data-share-url="/t/topic/5528?u=1152233756" data-post-number="1"><span title="2020年8月18日 14:03" data-time="1597730636926" data-format="tiny" class="relative-date">20年8月</span></a></div><div class="read-state read" title="未读帖子"><svg class="fa d-icon d-icon-circle svg-icon svg-node" aria-hidden="true"><use xlink:href="#circle"></use></svg></div></div></div><div class="regular contents"><div class="cooked"><p><strong>注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈</strong></p>
<h2>1、Linux系统与shell环境准备</h2>
<p>ls:  列出目录<br>
cd：切换目录<br>
pwd：显示目前的目录<br>
mkdir：创建一个新的目录<br>
rmdir：删除一个空的目录<br>
cp: 复制文件或目录<br>
rm: 移除文件或目录<br>
mv: 移动文件与目录，或修改文件与目录的名称</p>
<h3>Shell基础</h3>
<p>常见的shell</p>
<p>Bourne Shell（/usr/bin/sh或/bin/sh）<br>
Bourne Again Shell（/bin/bash）<br>
C Shell（/usr/bin/csh）<br>
K Shell（/usr/bin/ksh）<br>
Shell for Root（/sbin/sh</p>
<h4>运行shell</h4>
<ul>
<li>
<p>chmod +x ./test.sh  <span class="hashtag">#使脚本具有执行权限</span><br>
./test.sh  <span class="hashtag">#执行脚本</span></p>
</li>
<li>
<p>/bin/sh test.sh</p>
</li>
</ul>
<h2>Linux常用命令</h2>
<h3>文件</h3>
<p>ls:  列出目录<br>
cd：切换目录<br>
pwd：显示目前的目录<br>
mkdir：创建一个新的目录<br>
rmdir：删除一个空的目录<br>
cp: 复制文件或目录<br>
rm: 移除文件或目录<br>
mv: 移动文件与目录，或修改文件与目录的名称</p>
<h4>文件权限</h4>
<p>r 读权限read  4<br>
w 写权限write 2<br>
x 操作权限execute  1<br>
chmod 777 test，修改test文件属性</p>
<h3>网络</h3>
<p>netstat：打印Linux网络系统的状态信息<br>
-t 列出所有tcp<br>
-u 列出所有udp<br>
-l 只显示监听端口<br>
-n 以数字形式显示地址和端口号<br>
-p 显示进程的pid和名字</p>
<h3>性能</h3>
<p>top：持续监视系统性能<br>
ps：查看进程信息<br>
-aux 显示所有进程，包括用户，分组情况</p>
<h2>3、Linux三剑客与管道使用</h2>
<h3>管道</h3>
<p>Linux提供管道符“|”将两个命令隔开，管道符左边命令的输出就会作为管道符右边命令的输入</p>
<h3>正则</h3>
<p>正则表达式就是记录文本规则的代码</p>
<h4>演练环境</h4>
<aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/favicon.ico.下载" class="site-icon" width="32" height="32">
      <a href="https://tool.oschina.net/regex" target="_blank" rel="noopener">tool.oschina.net <span class="badge badge-notification clicks" title="74 次点击">74</span></a>
  </header>
  <article class="onebox-body">
    <img src="https://ceshiren.com/t/topic/5528" class="thumbnail" width="" height="">

<h3><a href="https://tool.oschina.net/regex" target="_blank" rel="noopener">在线正则表达式测试 <span class="badge badge-notification clicks" title="74 次点击">75</span></a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

<h4>举例</h4>
<p>找出所有的hi单词 \bhi\b<br>
hi单词后面有lucy单词 \bhi\b.*\blucy\b<br>
以0开头，然后是两个数字，然后是一个连字号“-”，最后是8个数字 0\d{2}-\d{8}</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png.下载" data-download-href="https://ceshiren.com/uploads/default/3a7a5c9bd33e24059766529f4f2f94ac87f288c9" title="image"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png.下载" alt="image" data-base62-sha1="8ljQPAWWkvjBfflYa3NtJb1RmYx" width="800" height="465" class="d-lazyload"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg><span class="filename">image</span><span class="informations">1718×999 34.1 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg></div></a></div><p></p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/709889105743d053ad6b3f591f58f7e0d592b210.png.下载" data-download-href="https://ceshiren.com/uploads/default/709889105743d053ad6b3f591f58f7e0d592b210" title="image"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/709889105743d053ad6b3f591f58f7e0d592b210.png.下载" alt="image" data-base62-sha1="g44hv7vrjIfXHa4Mh0TfL2v5v3i" width="800" height="457" class="d-lazyload"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg><span class="filename">image</span><span class="informations">1718×983 27 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg></div></a></div><p></p>
<h3>grep</h3>
<p>根据用户指定的模式（pattern）对目标文本进行过滤，显示被模式匹配到的行</p>
<p>选项</p>
<p>-v 显示不被pattern匹配到的行<br>
-i 忽略字符大小写<br>
-n 显示匹配的行号<br>
-c 统计匹配的行数<br>
-o 仅显示匹配到的字符串<br>
-E 使用ERE,相当于egrep</p>
<h3>sed</h3>
<p>sed是流编辑器，一次处理一行内容</p>
<p>sed [-hn…][-e][-f&lt;script文件&gt;][文本文件]<br>
-h 显示帮助。<br>
-n 仅显示script处理后的结果。</p>
<p>sed [-hnV][-e][-f&lt;script文件&gt;][文本文件]<br>
-e 以选项中指定的script来处理输入的文本文件。<br>
-f&lt;script文件&gt; 以选项中指定的script文件来处理输入的文本文件。</p>
<p>a ：新增		sed -e ‘4 a newline’<br>
c ：取代		sed -e ‘2,5c No 2-5 number’<br>
d ：删除		sed -e '2,5d’	<br>
i ：插入		sed -e ‘2i newline’<br>
p ：打印		sed -n ‘/root/p’<br>
s ：取代		sed -e 's/old/new/g’</p>
<h3>awk</h3>
<p>把文件逐行的读入，以空格为默认分隔符将每行切片，切开的部分再进行后续处理</p>
<p>awk ‘pattern + action’ [filenames]<br>
-pattern 正则表达式<br>
-action 对匹配到的内容执行的命令（默认为输出每行内容）</p>
<p>FILENAME awk浏览的文件名<br>
BEGIN 处理文本之前要执行的操作<br>
END 处理文本之后要执行的操作<br>
FS 设置输入域分隔符，等价于命令行 -F选项<br>
NF 浏览记录的域的个数（列数）<br>
NR 已读的记录数（行数</p>
<p>OFS 输出域分隔符<br>
ORS 输出记录分隔符<br>
RS 控制记录分隔符<br>
$0 整条记录<br>
$1 表示当前行的第一个域…以此类推</p>
<h2>Bash编程语法</h2>
<h3>变量</h3>
<p>命名只能使用英文字母，数字和下划线，首个字符不能以数字开头<br>
中间不能有空格，可以使用下划线（_）<br>
不能使用标点符号<br>
不能使用bash里的关键字（可用help命令查看保留关键字）</p>
<h3>变量类型</h3>
<p>字符串：your_name=“hogwarts”<br>
拼接字符串：greeting=“hello, “$your_name” !”<br>
数组 array_name=(value0 value1 value2 value3)<br>
取数组 valuen=${array_name[n]}<br>
单独赋值 array_name[0]=value0</p>
<h3>控制语句</h3>
<h4>if</h4>
<p>比较两个变量的大小并输出不同的值<br>
i	f [ $a -eq $b ]; then echo “equal”; elif [ $a -lt $b ];then echo “small”; elif [ $a -gt $b ];then echo “big”;fi</p>
<h4>for</h4>
<p>循环读取文件内容并输出<br>
for i in $(cat dir.txt);do echo $i;done</p>
<h4>while</h4>
<p>循环读取文件内容并输出<br>
while read line;do echo $line;done&lt;dir.txt</p>
<h2>Bash脚本编写</h2>
<h3>read</h3>
<p>read命令是用于从终端或者文件中读取输入的内部命令<br>
读取整行输入<br>
每行末尾的换行符不被读入</p>
<h4>使用</h4>
<p>从标准输入读取输入并赋值给变量<br>
read var<br>
从标准输入读取多个内容<br>
read var1 var2 var3<br>
不指定变量（默认赋值给REPLY）<br>
read</p>
<h3>脚本传参</h3>
<p>$0 脚本名称<br>
$1~$n 获取参数<br>
$# 传递到脚本的参数个数<br>
$$ 脚本运行的当前进程ID号<br>
$* 以一个单字符串显示所有向脚本传递的参数<br>
$? 显示最后命令的退出状态。0表示没有错误，其他任何值表明有错误</p>
<h3>算数运算</h3>
<pre><code class="hljs bash">a=10  b=20
+	加法	`expr <span class="hljs-variable">$a</span> + <span class="hljs-variable">$b</span>` 结果为 30
-		减法	`expr <span class="hljs-variable">$a</span> - <span class="hljs-variable">$b</span>` 结果为 -10
*	乘法	`expr <span class="hljs-variable">$a</span> \* <span class="hljs-variable">$b</span>` 结果为  200
/	     除法	`expr <span class="hljs-variable">$b</span> / <span class="hljs-variable">$a</span>` 结果为 2
</code></pre>
<pre><code class="hljs bash">a=10  b=20
%	取余	`expr <span class="hljs-variable">$a</span> % <span class="hljs-variable">$b</span>` 结果为 10
=	赋值	a=<span class="hljs-variable">$b</span> 将把变量 b 的值赋给 a
==	相等  相同则返回 <span class="hljs-literal">true</span>：[ <span class="hljs-variable">$a</span> == <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">false</span>
!=	不相等 不相同则返回 <span class="hljs-literal">true</span>：[ <span class="hljs-variable">$a</span> != <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">true</span>

</code></pre>
<pre><code class="hljs bash">-eq	检测相等 [ <span class="hljs-variable">$a</span> -eq <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">false</span>
-ne	检测不相等 [ <span class="hljs-variable">$a</span> -ne <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">true</span>
-gt		检测左边是否大于右边	[ <span class="hljs-variable">$a</span> -gt <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">false</span>
-lt		检测左边是否小于右边  [ <span class="hljs-variable">$a</span> -lt <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">true</span>
-ge	检测左边是否大于等于右边 [ <span class="hljs-variable">$a</span> -ge <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">false</span>
-le		检测左边是否小于等于右边  [ <span class="hljs-variable">$a</span> -le <span class="hljs-variable">$b</span> ] 返回 <span class="hljs-literal">true</span>

</code></pre>
<h2>Python环境</h2>
<p>官方地址下载python安装包  : <a href="https://www.python.org/">https://www.python.org/ <span class="badge badge-notification clicks" title="9 次点击">9</span></a><br>
Python安装文档（windows系统）：<a href="https://ceshiren.com/t/topic/57/4" class="inline-onebox">Python和PyCharm环境安装配置 <span class="badge badge-notification clicks" title="13 次点击">13</span></a></p>
<p>官方地址下载pycharm安装包<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/490454895ed1ad8d5e9ba9119ce6360df8af7f91.png.下载" class="site-icon" width="32" height="32">
      <a href="https://www.jetbrains.com/pycharm/download/" target="_blank" rel="noopener">JetBrains <span class="badge badge-notification clicks" title="4 次点击">4</span></a>
  </header>
  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:800/499;"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/d6a0615a550f823a52156d059ea0d110e5bc1959_2_800x499.png.下载" class="thumbnail d-lazyload" width="800" height="499" srcset="https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_800x499.png, https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_1200x748.png 1.5x, https://ceshiren.com/uploads/default/original/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959.png 2x"></div>

<h3><a href="https://www.jetbrains.com/pycharm/download/" target="_blank" rel="noopener">Download PyCharm: Python IDE for Professional Developers by JetBrains <span class="badge badge-notification clicks" title="4 次点击">4</span></a></h3>

<p>Download the latest version of PyCharm for Windows, macOS or Linux.</p>


  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

<p>安装包<br>
pip install 包名==版本号<br>
pip install selenium==2.39.0<br>
pip install -i 镜像地址 --trusted-host 镜像地址对应的host<br>
举例：pip3 install jupyter -i <a href="http://pypi.douban.com/simple/">http://pypi.douban.com/simple/</a> --trusted-host <a href="http://pypi.douban.com/">pypi.douban.com</a><br>
国内的pip源<br>
阿里云：<a href="https://mirrors.aliyun.com/pypi/simple/">https://mirrors.aliyun.com/pypi/simple/ <span class="badge badge-notification clicks" title="5 次点击">5</span></a><br>
清华：<a href="https://pypi.tuna.tsinghua.edu.cn/simple">https://pypi.tuna.tsinghua.edu.cn/simple <span class="badge badge-notification clicks" title="2 次点击">2</span></a><br>
豆瓣：<a href="http://pypi.douban.com/simple/">http://pypi.douban.com/simple/</a></p>
<h2>2，基础的数据类型</h2>
<p>Python官方参考文档<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/py.png.下载" class="site-icon" width="" height="">
      <a href="https://docs.python.org/3/tutorial/index.html" target="_blank" rel="noopener">docs.python.org <span class="badge badge-notification clicks" title="10 次点击">10</span></a>
  </header>
  <article class="onebox-body">
    <img src="https://ceshiren.com/t/topic/5528" class="thumbnail" width="" height="">

<h3><a href="https://docs.python.org/3/tutorial/index.html" target="_blank" rel="noopener">The Python Tutorial — Python 3.9.0 documentation <span class="badge badge-notification clicks" title="10 次点击">10</span></a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

<p>allure：<a href="https://demo.qameta.io/allure/#">https://demo.qameta.io/allure/# <span class="badge badge-notification clicks" title="8 次点击">8</span></a></p>
<p>windows/mac通用安装方法<br>
<a href="https://github.com/allure-framework/allure2/releases">https://github.com/allure-framework/allure2/releases <span class="badge badge-notification clicks" title="9 次点击">9</span></a> 下载allure2.7.zip包,<br>
解压-&gt;进入bin目录-&gt;运行allure.bat，<br>
把bin目录加入PATH环境变量<br>
Mac 可以使用brew安装:<br>
brew install allure<br>
官网:<a href="http://allure.qatools.ru/">http://allure.qatools.ru/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a><br>
文档：<a href="https://docs.qameta.io/allure/#">https://docs.qameta.io/allure/# <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
<h3>生成报告</h3>
<p>安装allure-pytest插件<br>
pip install allure-pytest<br>
运行：<br>
在测试执行期间收集结果<br>
pytest  [测试文件] -s –q --alluredir=./result/ (—alluredir这个选项 用于指定存储测试结果的路径)<br>
查看测试报告<br>
方式一：测试完成后查看实际报告， 在线看报告，会直接打开默认浏览器展示当前报告<br>
allure serve ./result/   (注意这里的serve书写)<br>
方式二：从结果生成报告，这是一个启动tomcat的服务，需要两个步骤：生成报告，打开报告<br>
生成报告<br>
allure generate ./result/ -o ./report/ --clean  (注意：覆盖路径加–clean )<br>
打开报告<br>
allure open -h 127.0.0.1 -p 8883 ./report/</p>
<h3>allure运行不同的测试用例</h3>
<p>按features运⾏行行测试你⽤用例例<br>
pytest --alluredir= log/report/xml --allure_features=测试登录功能,测试我的自选 testcases/alluredemo<br>
按story运⾏测试⽤例<br>
pytest --alluredir= log/report/xml --allure_stories=测试已登录的场景 testcases/alluredemo<br>
按severity运⾏测试⽤例<br>
pytest --alluredir= log/testreport/xml --allure_severities=blocker testcases/alluredemo</p>
<h3>前端自动化测试-截图</h3>
<p>场景:<br>
前端自动化测试经常需要附加图片或html，在适当的地方，适当的时机截图<br>
解决:<br>
@allure.attach显示许多不同类型的提供的附件，可以补充测试，步骤或测试结果。<br>
步骤:<br>
在测试报告里附加网页:<br>
allure.attach(body(内容), name, attachment_type, extension):<br>
allure.attach(‘ 首页’, ‘这是错误页的结果信息’, allure.attachment_type.HTML)<br>
在测试报告里附加图片:<br>
allure.attach.file(source, name, attachment_type, extension):<br>
allure.attach.file("./result/b.png", attachment_type=allure.attachment_type.PNG)</p>
<h3>pytest-html生成报告</h3>
<ul>
<li>安装:
<ul>
<li>pip install pytest-html</li>
</ul>
</li>
<li>生成html报告
<ul>
<li>pytest -v -s --html=report.html - - self-contained-html</li>
</ul>
</li>
</ul>
<h2>selenium</h2>
<p>简介<br>
Selenium支持web浏览器的自动化。它主要由三个工具构成：WebDriver、IDE、Grid<br>
官方网站<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png.下载" class="site-icon d-lazyload" width="800" height="835" srcset="https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1200x1252.png 1.5x, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1600x1670.png 2x">
      <a href="https://www.selenium.dev/" target="_blank" rel="noopener">selenium.dev <span class="badge badge-notification clicks" title="6 次点击">6</span></a>
  </header>
  <article class="onebox-body">
    <img src="https://ceshiren.com/t/topic/5528" class="thumbnail" width="" height="">

<h3><a href="https://www.selenium.dev/" target="_blank" rel="noopener">SeleniumHQ Browser Automation <span class="badge badge-notification clicks" title="6 次点击">6</span></a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

<ul>
<li>Driver的介绍
<ul>
<li><a href="https://www.selenium.dev/documentation/en/webdriver/driver_requirements/">https://www.selenium.dev/documentation/en/webdriver/driver_requirements/ <span class="badge badge-notification clicks" title="5 次点击">5</span></a></li>
</ul>
</li>
<li>Driver的下载
<ul>
<li>淘宝镜像：<a href="https://npm.taobao.org/mirrors/chromedriver/">https://npm.taobao.org/mirrors/chromedriver/ <span class="badge badge-notification clicks" title="5 次点击">5</span></a>
</li>
<li>官方网站：<a href="https://chromedriver.storage.googleapis.com/index.html">https://chromedriver.storage.googleapis.com/index.html</a>
</li>
</ul>
</li>
</ul>
<h2>selenium IDE</h2>
<p>官网：<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png.下载" class="site-icon d-lazyload" width="800" height="835" srcset="https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1200x1252.png 1.5x, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1600x1670.png 2x">
      <a href="https://www.selenium.dev/" target="_blank" rel="noopener">selenium.dev <span class="badge badge-notification clicks" title="6 次点击">6</span></a>
  </header>
  <article class="onebox-body">
    <img src="https://ceshiren.com/t/topic/5528" class="thumbnail" width="" height="">

<h3><a href="https://www.selenium.dev/" target="_blank" rel="noopener">SeleniumHQ Browser Automation <span class="badge badge-notification clicks" title="6 次点击">6</span></a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>
<br>
Chrome插件：<br>
<a href="https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd" class="onebox" target="_blank" rel="noopener">https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd <span class="badge badge-notification clicks" title="6 次点击">6</span></a><br>
Firefox插件：<br>
<a href="https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/" class="onebox" target="_blank" rel="noopener">https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a><br>
github release：<br>
<aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/favicon.svg.下载" class="site-icon" width="32" height="32">
      <a href="https://github.com/SeleniumHQ/selenium-ide/releases" target="_blank" rel="noopener">GitHub <span class="badge badge-notification clicks" title="6 次点击">6</span></a>
  </header>
  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:800/591;"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/35fcf763782c99613c3c0ef85f78412ba6dd666c.png.下载" class="thumbnail d-lazyload" width="800" height="591"></div>

<h3><a href="https://github.com/SeleniumHQ/selenium-ide/releases" target="_blank" rel="noopener">Releases · SeleniumHQ/selenium-ide <span class="badge badge-notification clicks" title="6 次点击">6</span></a></h3>

<p>Open Source record and playback test automation for the web. - SeleniumHQ/selenium-ide</p>


  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>
<br>
其它版本：<br>
<a href="https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/" class="onebox" target="_blank" rel="noopener">https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a><br>
注意：Chrome插件在国内无法下载，Firefox可以直接下载。
<ul>
<li>安装完成后，通过在浏览器的菜单栏中点击它的图标来启动它：</li>
<li>如果没看到图标，首先确保是否安装了Selenium IDE扩展插件，其次，可以在下面的地址访问所有插件：</li>
<li>Chrome: chrome://extensions</li>
<li>Firefox: about:addons</li>
</ul>
<h4>扩展</h4>
<p>代码导出：<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/19a2c29f035caf9b5b45eae2cfc78efa2f872e5e.png.下载" class="site-icon" width="32" height="32">
      <a href="https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export" target="_blank" rel="noopener">selenium.dev <span class="badge badge-notification clicks" title="1 次点击">1</span></a>
  </header>
  <article class="onebox-body">
    <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/13f5f6e90e91ae9ec309a7f54a941025fb48ba6e.png.下载" class="thumbnail onebox-avatar" width="128" height="128">

<h3><a href="https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export" target="_blank" rel="noopener">Code Export · Selenium IDE <span class="badge badge-notification clicks" title="1 次点击">2</span></a></h3>

<p>Getting Started</p>


  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>
<br>
常见问题：<br>
<aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/19a2c29f035caf9b5b45eae2cfc78efa2f872e5e.png.下载" class="site-icon" width="32" height="32">
      <a href="https://www.selenium.dev/selenium-ide/docs/en/introduction/faq" target="_blank" rel="noopener">selenium.dev <span class="badge badge-notification clicks" title="2 次点击">2</span></a>
  </header>
  <article class="onebox-body">
    <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/13f5f6e90e91ae9ec309a7f54a941025fb48ba6e.png.下载" class="thumbnail onebox-avatar" width="128" height="128">

<h3><a href="https://www.selenium.dev/selenium-ide/docs/en/introduction/faq" target="_blank" rel="noopener">FAQ · Selenium IDE <span class="badge badge-notification clicks" title="2 次点击">2</span></a></h3>

<p>How do I record hovers?</p>


  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

<h3>Python selenium</h3>
<p>小白入门：<a href="https://selenium-python.readthedocs.io/">https://selenium-python.readthedocs.io/ <span class="badge badge-notification clicks" title="11 次点击">11</span></a></p>
<h3>Actions</h3>
<p>官方文档<br>
</p><aside class="onebox allowlistedgeneric">
  <header class="source">
      <a href="https://selenium-python.readthedocs.io/api.html" target="_blank" rel="noopener">selenium-python.readthedocs.io <span class="badge badge-notification clicks" title="1 次点击">1</span></a>
  </header>
  <article class="onebox-body">
    <img src="https://ceshiren.com/t/topic/5528" class="thumbnail" width="" height="">

<h3><a href="https://selenium-python.readthedocs.io/api.html" target="_blank" rel="noopener">7. WebDriver API — Selenium Python Bindings 2 documentation <span class="badge badge-notification clicks" title="1 次点击">1</span></a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>
<br>
ActionChains：执行PC端的鼠标点击，双击，右键，拖拽等事件<br>
TouchActions：模拟PC和移动端的点击，滑动，拖拽，多点触控等多种手势操作
<h3>TouchAction</h3>
<p><a href="https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html" class="onebox" target="_blank" rel="noopener">https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
<h4>frame演示</h4>
<ul>
<li>演示：<a href="https://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols">https://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols <span class="badge badge-notification clicks" title="3 次点击">3</span></a>
</li>
</ul>
<p>多frame切换案例：<br>
打开包含frame的web页面 <a href="https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable">https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable <span class="badge badge-notification clicks" title="2 次点击">2</span></a><br>
打印’请拖拽我’元素的文本<br>
打印’点击运行’元素的文本</p>
<pre><code class="hljs php">def test_framedeal_1(<span class="hljs-built_in">self</span>):
    <span class="hljs-built_in">self</span>.driver.get(“https:<span class="hljs-comment">//www.runoob.com/try/try.php?filename=jqueryui-api-droppable")</span>
    <span class="hljs-built_in">self</span>.driver.switch_to.frame(<span class="hljs-string">"iframeResult"</span>)
    <span class="hljs-keyword">print</span>(<span class="hljs-built_in">self</span>.driver.find_element_by_id(<span class="hljs-string">"droppable"</span>).text)

    <span class="hljs-built_in">self</span>.driver.switch_to.parent_frame()
    <span class="hljs-keyword">print</span>(<span class="hljs-built_in">self</span>.driver.find_element_by_id(<span class="hljs-string">"submitBTN"</span>).text)

</code></pre>
<h4>多浏览器支持</h4>
<pre><code class="hljs objectivec">browser = os.getenv(<span class="hljs-string">"browser"</span>).lower()
<span class="hljs-keyword">if</span> browser == <span class="hljs-string">'firefox'</span>:
    <span class="hljs-keyword">self</span>.driver = webdriver.firefox()
elif browser == <span class="hljs-string">'headless'</span>:
    <span class="hljs-keyword">self</span>.driver = webdriver.PhantomJS()
<span class="hljs-keyword">else</span>:
    <span class="hljs-keyword">self</span>.driver = webdriver.Chrome()
</code></pre>
<h3>启动Chrome debug</h3>
<ul>
<li>正常启动chrome的debug模式
<ul>
<li>
<h1>默认macOS系统</h1>
<ul>
<li>/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222</li>
</ul>
</li>
<li>
<h1>Windows下找到chrome.exe位置执行下面的命令</h1>
<ul>
<li>chrome.exe --remote-debugging-port=9222</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>alert窗口</h4>
<p>测试案例：<br>
打开网页 <a href="https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable">https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable <span class="badge badge-notification clicks" title="2 次点击">2</span></a><br>
操作窗口右侧页面， 将元素1拖拽到元素2<br>
这时候会有一个alert弹框，点击弹框中的’确定’<br>
然后再按’点击运行’<br>
关闭网页</p>
<pre><code class="hljs ruby"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test_framedeal</span><span class="hljs-params">(<span class="hljs-keyword">self</span>)</span></span>:
    <span class="hljs-keyword">self</span>.driver.switch_to.frame(<span class="hljs-string">"iframeResult"</span>)
    action = ActionChains(<span class="hljs-keyword">self</span>.driver)
    action.click_and_hold(<span class="hljs-keyword">self</span>.driver.find_element_by_id(<span class="hljs-string">"draggable"</span>))\
        .move_to_element(<span class="hljs-keyword">self</span>.driver.find_element_by_id(<span class="hljs-string">"droppable"</span>)).release().perform()
    <span class="hljs-keyword">self</span>.driver.switch_to.alert.accept()
    <span class="hljs-comment"># self.driver.switch_to.default_content()</span>
    <span class="hljs-keyword">self</span>.driver.switch_to.parent_frame()
    print(<span class="hljs-keyword">self</span>.driver.find_element_by_id(<span class="hljs-string">"submitBTN"</span>).text)
    <span class="hljs-keyword">self</span>.driver.find_element_by_id(<span class="hljs-string">"submitBTN"</span>).click()
    time.sleep(<span class="hljs-number">3</span>)
</code></pre>
<h3>pageobject</h3>
<p>2013 Martin Flower  <a href="https://martinfowler.com/bliki/PageObject.html">https://martinfowler.com/bliki/PageObject.html <span class="badge badge-notification clicks" title="1 次点击">1</span></a><br>
2015 Selenium <a href="https://github.com/SeleniumHQ/">https://github.com/SeleniumHQ/</a> selenium/wiki/PageObjects<br>
2020  <a href="https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/">https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
<p>原则</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://ceshiren.com/uploads/default/original/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f.png" data-download-href="https://ceshiren.com/uploads/default/f214ff9c14927a0e834f721566f9d72bf2b7a48f" title="image"><img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_800x311.png.下载" alt="image" data-base62-sha1="yxyxhKfHExFOqjYhSrE4v5lI9qf" width="800" height="311" class="d-lazyload" srcset="https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_800x311.png, https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_1200x466.png 1.5x, https://ceshiren.com/uploads/default/original/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f.png 2x"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg><span class="filename">image</span><span class="informations">1203×469 139 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg></div></a></div><p></p>
<h3>appium</h3>
<h4>环境</h4>
<p>安装JDK （1.8版本）<br>
官网下载地址：<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html <span class="badge badge-notification clicks" title="5 次点击">5</span></a></p>
<ul>
<li>
<strong>安装</strong> <strong>SDK</strong>
<ul>
<li>
<strong>下载</strong> <strong>sdk</strong>
<ul>
<li>Android studio地址 <a href="https://developer.android.com/studio/index.html">https://developer.android.com/studio/index.html <span class="badge badge-notification clicks" title="1 次点击">1</span></a>
</li>
<li>中文官网下载地址：<a href="http://tools.android-studio.org/index.php/sdk">http://tools.android-studio.org/index.php/sdk <span class="badge badge-notification clicks" title="5 次点击">5</span></a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>安装appium desktop （appium server + appium inspector工具）<br>
下载对应操作系统的安装包：<a href="https://github.com/appium/appium-desktop/releases">https://github.com/appium/appium-desktop/releases <span class="badge badge-notification clicks" title="5 次点击">5</span></a><br>
如果不需要appium inspector ，也可以通过 npm直接安装appium<br>
官方安装（不推荐）<br>
npm install -g appium<br>
淘宝提供（推荐）<br>
npm install -g cnpm --registry=https://registry.npm.taobao.org<br>
cnpm install -g appium<br>
运行<br>
appium （不报错说明安装成功）</p>
<p>安装appium python client<br>
方式一：Pip install appium-python-client(推荐)<br>
方式二：下载源码包：<br>
下载地址：<a href="https://github.com/appium/python-client">https://github.com/appium/python-client</a><br>
<a href="https://pypi.python.org/pypi/Appium-Python-Client">https://pypi.python.org/pypi/Appium-Python-Client</a><br>
解压后在命令行中进入python-client-master目录，该目录下包含setup.py文件<br>
执行命令python setup.py install命令安装客户端</p>
<h3>获取app的信息</h3>
<p>app信息<br>
获取当前界面元素：adb shell dumpsys activity top （推荐）（重点）<br>
获取任务列表：adb shell dumpsys  activity activities<br>
app入口<br>
adb logcat |grep -i displayed （推荐）（重点）<br>
aapt dump badging mobike.apk  | grep launchable-activity<br>
apkanalyzer 最新版本的sdk中才有<br>
启动应用<br>
adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S （重点）</p>
<h3>capability</h3>
<ul>
<li>官方文档：<a href="https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md">https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md <span class="badge badge-notification clicks" title="1 次点击">1</span></a>
</li>
</ul>
<h3>app控件交互</h3>
<ul>
<li>
<p>get_attribute()方法能获取的属性，元素的属性几乎都能获取到,属性名称和 uiautomatorviewer 里面的一致</p>
<ul>
<li>源码地址：<a href="https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/GetElementAttribute.java">https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/GetElementAttribute.java</a>
</li>
</ul>
</li>
<li>
<p>TouchAction 用法</p>
<ul>
<li><a href="https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md">https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md <span class="badge badge-notification clicks" title="4 次点击">4</span></a></li>
</ul>
</li>
</ul>
<h3>高级定位技巧</h3>
<ul>
<li>TouchAction 用法
<ul>
<li><a href="https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md">https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md <span class="badge badge-notification clicks" title="4 次点击">4</span></a></li>
</ul>
</li>
</ul>
<h4>uiautomator</h4>
<ul>
<li><a href="https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html">https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html</a></li>
</ul>
<h4>get_attribute</h4>
<ul>
<li>官方文档：<a href="http://appium.io/docs/en/commands/element/attributes/attribute/">http://appium.io/docs/en/commands/element/attributes/attribute/</a>
</li>
</ul>
<h4>assert断言</h4>
<ul>
<li><a href="https://www.runoob.com/python3/python3-assert.html">https://www.runoob.com/python3/python3-assert.html <span class="badge badge-notification clicks" title="3 次点击">3</span></a></li>
</ul>
<h4>hamrest</h4>
<ul>
<li>github地址：<a href="https://github.com/hamcrest/PyHamcrest">https://github.com/hamcrest/PyHamcrest <span class="badge badge-notification clicks" title="2 次点击">2</span></a>
</li>
</ul>
<h3>appium纯web页面</h3>
<p>手机端<br>
被测浏览器：(不可以是第三方浏览器)   ’Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android，<br>
PC端<br>
安装Chrome浏览器(或chromium)，并且能登录https://www.google.com/<br>
下载对应手机浏览器对应的driver版本<br>
国内镜像地址：<a href="https://npm.taobao.org/mirrors/chromedriver/">https://npm.taobao.org/mirrors/chromedriver/ <span class="badge badge-notification clicks" title="5 次点击">5</span></a><br>
appium github：<a href="https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md">https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md <span class="badge badge-notification clicks" title="3 次点击">3</span></a><br>
客户端代码：<br>
desirecapability<br>
“browser” = “Browser” 或者“browser” = ”Chrome”<br>
“chromedriverExecutable” = “指定driver地址”<br>
Mac Chromedriver 默认地址：<br>
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/</p>
<h4>获取webdriver版本</h4>
<p>查看手机浏览器的版本<br>
adb shell pm list package |grep webview<br>
adb shell pm dump com.android.browser|grep version<br>
adb shell pm dump com.android.chrome|grep version<br>
adb shell pm dump com.android.webview|grep version</p>
<ul>
<li>chrome://inspect/</li>
</ul>
<h3>appium混合应用</h3>
<p>PC:<br>
浏览器能访问 <a href="https://www.google.com/">https://www.google.com/</a><br>
chromedriver下载对应的版本<br>
<a href="https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md">https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md <span class="badge badge-notification clicks" title="3 次点击">3</span></a><br>
手机端<br>
应用代码需要打开webview开关<br>
代码<br>
appPackage, appActivity<br>
desirecapability里面添加：chromedriverExecutable：driver路径</p>
<h4>webdriver开关</h4>
<ul>
<li>文档：
<ul>
<li><a href="https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn">https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn <span class="badge badge-notification clicks" title="4 次点击">4</span></a></li>
</ul>
</li>
</ul>
<h3>monkey</h3>
<p>adb shell monkey  100 对所有包随机操作<br>
adb shell monkey -p com.xueqiu.android 100 对指定包<br>
adb shell monkey -p com.xueqiu.android -s 20  80 时间种子<br>
adb shell monkey -p com.xueqiu.android  -vv -s 20  80 详细日志</p>
<p>时间延迟<br>
adb shell monkey -p com.xueqiu.android --throttle 5000 100<br>
事件百分比<br>
adb shell monkey -p com.xueqiu.android --pct-touch 10 1000</p>
<p>–pct-touch：触摸事件，比如点击<br>
–pct-motion：动作事件，比如滑动（直线）<br>
–pct-trackball：轨迹事件，比如移动＋点击，曲线滑动<br>
–pct-majornav：主要导航事件，比如回退按键、菜单按键：</p>
<h3>maxim</h3>
<aside class="onebox allowlistedgeneric">
  <header class="source">
      <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/favicon.svg.下载" class="site-icon" width="32" height="32">
      <a href="https://github.com/zhangzhao4444/Maxim" target="_blank" rel="noopener">GitHub <span class="badge badge-notification clicks" title="3 次点击">3</span></a>
  </header>
  <article class="onebox-body">
    <img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/56a43eade657ab81b8989e4191c323348d3d203d.png.下载" class="thumbnail onebox-avatar d-lazyload" width="200" height="200">

<h3><a href="https://github.com/zhangzhao4444/Maxim" target="_blank" rel="noopener">zhangzhao4444/Maxim <span class="badge badge-notification clicks" title="3 次点击">3</span></a></h3>

<p>高速uiautomator控件解析算法的Android Monkey, 每秒10-15个Action Event。实现快速DFS算法的Android Monkey , 每秒 5个Action Event。 - zhangzhao4444/Maxim</p>


  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>
<br>
adb push framework.jar /sdcard<br>
adb push monkey.jar /sdcard
<p>adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.panda.videoliveplatform --uiautomatormix --running-minutes 60 -v -v</p>
<h3>stf</h3>
<ul>
<li><a href="https://github.com/openstf/stf">https://github.com/openstf/stf</a></li>
</ul>
<h4>启动</h4>
<p>docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090</p>
<p>docker run -d --name stf --net host openstf/stf stf local --allow-remote</p>
<h4>获取dom结构</h4>
<p>windows<br>
adb shell “uiautomator dump &amp;&amp; cat /sdcard/window_dump.xml” | clip<br>
adb shell “uiautomator dump &amp;&amp; cat /sdcard/window_dump.xml” &gt; tmp.xml<br>
Mac<br>
adb shell “uiautomator dump &amp;&amp; cat /sdcard/window_dump.xml” | pbcopy</p>
<h3>selenium Grid</h3>
<p>官网：<a href="https://www.selenium.dev/downloads/">https://www.selenium.dev/downloads/</a><br>
hub<br>
java -jar selenium-server-standalone-3.141.59.jar -role hub<br>
node<br>
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5677</p>
<h4>配置文件启动node</h4>
<p>java -jar selenium-server-standalone.jar -role node -nodeConfig node1Config.json<br>
<a href="https://www.selenium.dev/documentation/en/grid/setting_up_your_own_grid/" class="onebox" target="_blank" rel="noopener">https://www.selenium.dev/documentation/en/grid/setting_up_your_own_grid/</a></p>
<h2>耗电量</h2>
<p>git clone <a href="https://github.com/google/battery-historian.git">https://github.com/google/battery-historian.git</a><br>
cd battery-historian<br>
go get -d -u <a href="http://github.com/google/battery-historian/">github.com/google/battery-historian/</a>…<br>
go run setup.go<br>
go run cmd/battery-historian/battery-historian.go</p>
<ol>
<li>清理耗电量数据<br>
adb shell dumpsys batterystats --reset<br>
adb shell dumpsys batterystats --enable full-wake-history</li>
<li>运行测试用例/手工操作</li>
<li>收集数据<br>
Android 7.0：adb bugreport bugreport.zip<br>
Android6.0：adb bugreport &gt; bugreport.txt</li>
</ol>
<h2>弱网</h2>
<ul>
<li>使用charles模拟弱网</li>
<li><a href="https://www.charlesproxy.com/download/">https://www.charlesproxy.com/download/ <span class="badge badge-notification clicks" title="2 次点击">2</span></a></li>
</ul>
<h2>网络流量</h2>
<p>Active interfaces:<br>
iface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId=“GoogleGuest”}]<br>
Active UID interfaces:<br>
iface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId=“GoogleGuest”}]</p>
<p>adb shell dumpsys package com.xueqiu.android | grep userId<br>
userId=10007 gids=[3003, 1028, 1015]</p>
<h2>app启动性能</h2>
<p>adb shell am force-stop $package<br>
adb shell screenrecord --bugreport --time-limit 30 /data/local/tmp/xueqiu.mp4 &amp;<br>
adb shell am start  -S -W $package/.view.WelcomeActivityAlias<br>
wait<br>
adb pull /data/local/tmp/xueqiu.mp4 .<br>
ffmpeg -i xueqiu.mp4  xueqiu.gif<br>
ffmpeg -i xueqiu.mp4  -r 10 frames_%03d.jpg</p>
<h2>CPU统计</h2>
<ul>
<li><a href="https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering">https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering <span class="badge badge-notification clicks" title="1 次点击">1</span></a></li>
</ul>
<h2>H5 性能分析</h2>
<p>appium/selenium的ExecuteScript Api<br>
注⼊js<br>
return JSON.stringify(window.performance.timing)<br>
JSON.stringify(window.performance.getEntriesByName (document.querySelector(“img”).src)[0], null, 2)</p>
<h2>postman</h2>
<p>官网地址 <a href="https://www.postman.com/">https://www.postman.com/ <span class="badge badge-notification clicks" title="3 次点击">3</span></a></p>
<h2>接口测试框架</h2>
<p>数据驱动</p>
<ul>
<li>模板字符串
<ul>
<li>官方文档：<a href="https://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template">https://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template <span class="badge badge-notification clicks" title="8 次点击">8</span></a>
</li>
</ul>
</li>
</ul>
<h2>jmeter安装</h2>
<ul>
<li>下载地址：<a href="https://archive.apache.org/dist/jmeter/">https://archive.apache.org/dist/jmeter/</a>
</li>
</ul>
<h2>jmeter分布式</h2>
<ul>
<li>参考：<a href="https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology">https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology <span class="badge badge-notification clicks" title="4 次点击">4</span></a>
</li>
</ul>
<p>influxDB</p>
<p>InfluxDB 是一个用 Go 语言开发的开源分布式时序数据库。<br>
新建容器网络：docker network create grafana<br>
运行容器：docker run -d --name=influxdb --network grafana -p 8086:8086 -v ${PWD}/influxdb/:/var/lib/influxdb/ influxdb:1.7.10<br>
创建数据库<br>
第一种方式：curl -i -XPOST <a href="http://localhost:8086/query">http://localhost:8086/query</a> --data-urlencode “q=CREATE DATABASE jmeter”<br>
第二种方式：docker exec -it influxdb influx，执行语句 create database jmeter;<br>
简单使用<br>
show databases;<br>
use jmeter;<br>
show measurements;<br>
select * from jmeter limit 3;</p>
<ul>
<li>参考：<a href="https://grafana.com/grafana/dashboards/5496">https://grafana.com/grafana/dashboards/5496</a>
</li>
</ul>
<h2>性能监控体系</h2>
<p>部署Prometheus<br>
配置文件：<a href="https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml">https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml <span class="badge badge-notification clicks" title="2 次点击">2</span></a><br>
运行：docker run -d --name prometheus --network grafana -p 9090:9090 -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:v2.16.0 --config.file=/etc/prometheus/prometheus.yml</p>
<p>部署node_exporter</p>
<p>下载地址： <a href="https://github.com/prometheus/node_exporter/releases">https://github.com/prometheus/node_exporter/releases</a></p>
<p>配置Grafana</p>
<p>配置 Prometheus 数据源<br>
配置面板：<a href="https://grafana.com/grafana/dashboards/8919">https://grafana.com/grafana/dashboards/8919 <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
<h2>docker file</h2>
<p>常用指令</p>
<p>FROM：基础镜像，FROM 命令必须是 Dockerfile 的首个命令。<br>
LABEL：为镜像生成元数据标签信息。<br>
USER：指定运行容器时的用户名或 UID，后续 RUN 也会使用指定用户。<br>
RUN：RUN 命令是 Dockerfile 执行命令的核心部分。它接受命令作为参数并用于创建镜像。每条 RUN 命令在当前基础镜像上执行，并且会提交一个新镜像层。<br>
WORKDIR：设置 CMD 指明的命令的运行目录。为后续的 RUN、CMD、ENTRYPOINT、ADD 指令配置工作目录。<br>
ENV：容器启动的环境变量。<br>
ARG：构建环境的环境变量。<br>
COPY：复制文件<br>
CMD：容器运行时执行的默认命令。<br>
ENTRYPOINT：指定容器的“入口”。<br>
HEALTHCHECK：容器健康状态检查。</p>
<h2>Jenkinsfile语法</h2>
<p>Declarative pipeline 示例代码</p>
<pre><code class="hljs csharp">pipline{
agent{
		node{
				label <span class="hljs-string">"myslave"</span>
				customWorkspace <span class="hljs-string">"myWorkspace"</span>
		}
}
}
</code></pre>
<p>Declarative pipeline 示例代码</p>
<pre><code class="hljs bash">stages{
stage(<span class="hljs-string">'git pull souce code'</span>){
		steps{
				<span class="hljs-built_in">echo</span> <span class="hljs-string">"sync updated code"</span>
				git <span class="hljs-string">"https://github.com/princeqjzh/iPipeline.git"</span>
		}
}
}
</code></pre>
<p>Declarative pipeline 示例代码</p>
<pre><code class="hljs nginx"> <span class="hljs-section">post</span> {
        <span class="hljs-section">success</span> {
            <span class="hljs-attribute">echo</span> <span class="hljs-string">'goodbye pipeline success!'</span>
            sleep <span class="hljs-number">2</span>
        }
        always {
            <span class="hljs-attribute">echo</span> <span class="hljs-string">'always say goodbye'</span>
        }
    }
</code></pre>
<p>Declarative pipeline 示例代码</p>
<pre><code class="hljs bash">    environment {
        hlw = <span class="hljs-string">'hello world'</span>
    }
    stages {
        stage(<span class="hljs-string">'Print environment_1'</span>){
            steps {
                <span class="hljs-built_in">echo</span> hlw
            }
        }
}
</code></pre>
<pre><code class="hljs csharp">   options {
        timeout(time: <span class="hljs-number">30</span>, <span class="hljs-built_in">unit</span>: <span class="hljs-string">'SECONDS'</span>)
			  buildDiscarder(logRotator(numToKeepStr: <span class="hljs-string">'2'</span>))
        retry(<span class="hljs-number">5</span>)
    }
</code></pre>
<pre><code class="hljs bash"> parameters {
        string(name: <span class="hljs-string">'PERSON'</span>, defaultValue: <span class="hljs-string">'Jenkins'</span>, description: <span class="hljs-string">'输入的文本参数'</span>)
    }
    stages {
        stage(<span class="hljs-string">'Test Parameters'</span>){
            steps {
                <span class="hljs-built_in">echo</span> <span class="hljs-string">"Hello <span class="hljs-variable">${params.PERSON}</span>"</span>
            }
        }
    }
</code></pre>
<p>Jenkinsfile 语法 Scripts pipeline</p>
<pre><code class="hljs bash">流程控制之 – <span class="hljs-keyword">if</span>/<span class="hljs-keyword">else</span>
node {
    stage(<span class="hljs-string">'Example'</span>) {
        <span class="hljs-keyword">if</span> (env.BRANCH_NAME == <span class="hljs-string">'master'</span>) {
            <span class="hljs-built_in">echo</span> <span class="hljs-string">'I only execute on the master branch'</span>
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-built_in">echo</span> <span class="hljs-string">'I execute elsewhere'</span>
        }
    }
}
</code></pre>
<pre><code class="hljs php">流程控制之 – <span class="hljs-keyword">try</span>/<span class="hljs-keyword">catch</span>
    node{
        <span class="hljs-keyword">echo</span> <span class="hljs-string">"This is test stage which run on the slave agent."</span>
        <span class="hljs-keyword">try</span> {
            <span class="hljs-keyword">echo</span> <span class="hljs-string">"This is in the try block."</span>
        }<span class="hljs-keyword">catch</span> (exc) {
            <span class="hljs-keyword">echo</span> <span class="hljs-string">"Something failed, I'm in the catch block."</span>
        }<span class="hljs-keyword">finally</span> {
            <span class="hljs-keyword">echo</span> <span class="hljs-string">"Finally, I'm in the finally block."</span>
        }
    }
</code></pre>
<h2>pipline</h2>
<pre><code class="hljs bash">pipeline {
	agent any 
	stages { 
		stage(<span class="hljs-string">'begin'</span>){
 			steps { 
				<span class="hljs-built_in">echo</span> <span class="hljs-string">'Hello pipeline'</span> 
				}
 		}
 	}
	post { 
		always {
 			<span class="hljs-built_in">echo</span> <span class="hljs-string">'say goodbay'</span>
 			}
 	}
 }
</code></pre>
<ul>
<li>例子源码位置： <a href="https://gitee.com/ytq12875/pipeline">https://gitee.com/ytq12875/pipeline</a>
</li>
</ul>
<h1>测试平台开发</h1>
<h2>测试平台前端</h2>
<h3>vue.js 安装</h3>
<ol>
<li>
<p>CDN<br>
<img src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/c940621d709e65943b4509fd5a80d3a36f6fcd16.png.下载" alt="image" data-base62-sha1="sIlUxXZdctSJUczUx1M1v73rrJc" width="471" height="166" class="d-lazyload"></p>
</li>
<li>
<p>NPM<br>
通过webpack和CLI安装使用</p>
</li>
</ol>
<h3>安装node.js环境</h3>
<p><a href="https://nodejs.org/zh-cn/download/" target="_blank" rel="noopener">https://nodejs.org/zh-cn/download/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
<h3>组件库的使用</h3>
<p>ElementUI<br>
<a href="https://element.eleme.io/#/" target="_blank" rel="noopener">https://element.eleme.io/#/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a><br>
BootstrapVue<br>
<a href="https://bootstrap-vue.org/" target="_blank" rel="noopener">https://bootstrap-vue.org/</a><br>
Vuetify<br>
<a href="https://vuetifyjs.com/zh-Hans/" target="_blank" rel="noopener">https://vuetifyjs.com/zh-Hans/</a></p>
<h3>axios</h3>
<p>官方网址：<a href="http://www.axios-js.com/">http://www.axios-js.com/</a></p>
<p>安装</p>
<pre><code class="hljs coffeescript">$ <span class="hljs-built_in">npm</span> install axios
</code></pre>
<h3>VSCode插件</h3>
<p>Vetur：VSCode支持VUE的工具，有语法高亮、格式化、错误检查、自动完成等功能。</p>
<p>JavaScript (ES6) code snippets：包含VSCode的ES6语法中的JavaScript代码段。</p>
<p>（推荐）Auto Close Tag：自动添加HTML/XML结束标签。<br>
（推荐）Auto Rename Tag：自动重命名对应的HTML/XML标签。</p>
<p>Highlight Matching Tag：突出显示匹配的开始和结束标签。</p>
<h2>测试平台后端</h2>
<h3>Jenkins调用</h3>
<p>Jenkins调用-maven依赖</p>
<pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>com.offbytwo.jenkins<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>jenkins-client<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>0.3.8<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
</code></pre>
<p>常用类-JenkinsHttpClient</p>
<ul>
<li>封装了调用JenkinsAPI的底层方法。</li>
<li>JenkinsHttpClient(URI uri, String username, String password)</li>
<li>get(String path)</li>
<li>getFile(URI path)</li>
<li>post(String path, boolean crumbFlag)</li>
<li>post(String path, D data, Class cls)</li>
<li>post_xml(String path, String xml_data, boolean crumbFlag)<br>
等等</li>
</ul>
<p>常用类-JenkinsServer</p>
<ul>
<li>封装了调用JenkinsAPI的语义级别的方法。</li>
<li>JenkinsServer(JenkinsHttpConnection client)</li>
<li>getJob(String jobName)</li>
<li>createJob(String jobName, String jobXml, Boolean crumbFlag)</li>
<li>updateJob(String jobName, String jobXml, boolean crumbFlag)</li>
<li>getJobXml(String jobName)</li>
<li>deleteJob(FolderJob folder, String jobName, boolean crumbFlag)<br>
等等</li>
</ul>
<p>常用类-Job</p>
<ul>
<li>Jenkins中job对应的实体类，有很多实用的语义级别的方法。</li>
<li>Job(String name, String url)</li>
<li>build(Job job)</li>
<li>build(Job job, Map&lt;String, String&gt; params)</li>
<li>getFileFromWorkspace(String fileName)</li>
<li>setClient(JenkinsHttpConnection client)</li>
</ul>
<h3>springboot</h3>
<ol>
<li>
<p>进入 <a href="https://start.spring.io/">https://start.spring.io/ <span class="badge badge-notification clicks" title="1 次点击">1</span></a></p>
</li>
<li>
<p>使用IDE的插件进行快速创建</p>
</li>
</ol>
<p>restful风格的接口实现方式</p>
<ol>
<li>
<p>SpringBootApplication：springboot主类，用来加载springboot各种特性</p>
</li>
<li>
<p>RestController：Spring会转换返回值并自动将其写入HTTP响应</p>
</li>
<li>
<p>RequestMapping: 用于类和方法，在方法级别时，用于处理HTTP 的各种方法</p>
</li>
<li>
<p>RequestBody：将request body中的json/xml对象解析成该参数类型的Javabean对象</p>
</li>
<li>
<p>PathVariable：处理动态的 URI，URI 的值可以作为控制器中处理方法的参数</p>
</li>
<li>
<p>Post/Put/Get/DeleteMapping：在方法的级别上使用，在方法级别时，用于处理HTTP 的各种方法</p>
</li>
<li>
<p>RequestParam：处理get请求的参数</p>
</li>
</ol>
<p>lombok使用</p>
<pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.projectlombok<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>lombok<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>1.16.10<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
</code></pre>
<p>集成swagger-配置类</p>
<pre><code class="hljs java"><span class="hljs-meta">@Configuration</span>
<span class="hljs-meta">@EnableSwagger2</span>
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SwaggerConfig</span> </span>{

}
</code></pre>
<p>集成swagger-配置项</p>
<pre><code class="hljs csharp">@Bean
<span class="hljs-function"><span class="hljs-keyword">public</span> Docket <span class="hljs-title">docket</span>(<span class="hljs-params"></span>)</span> {
 		<span class="hljs-comment">//header</span>
		<span class="hljs-comment">//apiInfo</span>
}

<span class="hljs-function"><span class="hljs-keyword">private</span> ApiInfo <span class="hljs-title">apiInfo</span>(<span class="hljs-params"></span>)</span> {
}
</code></pre>
<p>常用配置介绍</p>
<pre><code class="hljs apache"><span class="hljs-attribute">server</span>:
  <span class="hljs-attribute">port</span>: <span class="hljs-number">8093</span>
  <span class="hljs-attribute">connection</span>-timeout: <span class="hljs-number">18000000</span>
  <span class="hljs-attribute">servlet</span>
     <span class="hljs-attribute">session</span>:
      <span class="hljs-attribute">timeout</span>: <span class="hljs-number">30</span>m #<span class="hljs-number">30</span>分钟，测试的话时间不能太短，否则不准。m(分钟)，s(秒)，h(小时)，不写单位默认毫秒
<span class="hljs-attribute">spring</span>:
  <span class="hljs-attribute">application</span>:
    <span class="hljs-attribute">name</span>: aitest
</code></pre>
<p>springboot多环境配置</p>
<pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">profiles</span>&gt;</span>
        <span class="hljs-comment">&lt;!--开发环境--&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">profile</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>dev<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">properties</span>&gt;</span>
                <span class="hljs-tag">&lt;<span class="hljs-name">spring.profiles.active</span>&gt;</span>dev<span class="hljs-tag">&lt;/<span class="hljs-name">spring.profiles.active</span>&gt;</span>
            <span class="hljs-tag">&lt;/<span class="hljs-name">properties</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">activation</span>&gt;</span>
                <span class="hljs-tag">&lt;<span class="hljs-name">activeByDefault</span>&gt;</span>true<span class="hljs-tag">&lt;/<span class="hljs-name">activeByDefault</span>&gt;</span>
            <span class="hljs-tag">&lt;/<span class="hljs-name">activation</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">profile</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">profiles</span>&gt;</span>
</code></pre>
<p>简单运行脚本</p>
<pre><code class="hljs apache"><span class="hljs-attribute">test_start_8097</span>.sh
<span class="hljs-attribute">nohup</span> java -Xms<span class="hljs-number">256</span>m -Xmx<span class="hljs-number">512</span>m -XX:PermSize=<span class="hljs-number">64</span>m -XX:MaxPermSize=<span class="hljs-number">128</span>m  -server -Dserver.port=<span class="hljs-number">8012</span> -jar aitest-mini.jar 'aitest-mini' --spring.profiles.active=dev  &gt;&gt;./test_info_<span class="hljs-number">8097</span>.log <span class="hljs-number">2</span>&gt;&amp;<span class="hljs-number">1</span> &amp;
</code></pre>
<ul>
<li>ps -ef | grep aitest-mini <span class="hashtag">#查询已经存在的aitest-mini进程</span>，进程号为10179</li>
<li>kill -9 10179 # 停止该进程</li>
<li>sh test_start_8099.sh <span class="hashtag">#执行启动命令</span>
</li>
<li>tail -f test_info_8099.log <span class="hashtag">#实时查看服务输出日志</span>
</li>
</ul>
<p>Cors跨域资源共享<br>
<a href="https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS" target="_blank" rel="noopener">https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS</a></p>
<h3>数据持久化技术</h3>
<p>mybatis配置</p>
<ul>
<li>springboot集成mybatis配置</li>
<li>mybatis相关配置</li>
<li>sql语句打印配置</li>
</ul>
<p><span class="mention">@MapperScan</span>(“com.hogwartstest.aitestmini.dao”)</p>
<p>tk.mybatis使用-mapper统一父类</p>
<p>mybatis的mapper的统一父类，用于简单sql语句的快速编码</p>
<pre><code class="hljs csharp"><span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title">MySqlExtensionMapper</span>&lt;<span class="hljs-title">T</span>&gt; <span class="hljs-title">extends</span> <span class="hljs-title">Mapper</span>&lt;<span class="hljs-title">T</span>&gt;, <span class="hljs-title">MySqlMapper</span>&lt;<span class="hljs-title">T</span>&gt;, <span class="hljs-title">IdsMapper</span>&lt;<span class="hljs-title">T</span>&gt; {
}
</code></pre>
<p><strong>持久化常见注解</strong></p>
<ul>
<li>
<p>Table：表对应的实体类标识，name属性为表名</p>
</li>
<li>
<p>Id：主键标识</p>
</li>
<li>
<p>GeneratedValue(strategy = GenerationType.IDENTITY)：配置主键为自增策略</p>
</li>
<li>
<p>Column：列名标识，当类属性与表字段不符时，用name属性标识表字段</p>
</li>
<li>
<p>Transient：标识此字段不进行持久化</p>
</li>
</ul>
<p><strong>mybatis常见特性</strong></p>
<ul>
<li>
<p>#{createUserId}</p>
</li>
<li>
<p>${createUserId}</p>
</li>
<li>
<p>concat(’%’, #{params.caseSign}, ‘%’):MySQL函数，返回结果为连接参数产生的字符串。如有任何一个参数为NULL ，则返回值为 NULL。</p>
</li>
</ul></div><section class="post-menu-area clearfix"><nav class="post-controls clearfix expanded"><div class="actions"><div class="double-button"><button class="widget-button btn-flat button-count like-count highlight-action regular-likes btn-text" aria-label="17人赞了该贴" title="17人赞了该贴">17</button><button class="widget-button btn-flat toggle-like like no-text btn-icon" aria-label="点赞此帖" title="点赞此帖"><svg class="fa d-icon d-icon-d-unliked svg-icon svg-node" aria-hidden="true"><use xlink:href="#far-heart"></use></svg></button></div><button class="widget-button btn-flat share no-text btn-icon" aria-label="分享指向这个帖子的链接" title="分享指向这个帖子的链接" data-share-url="/t/topic/5528?u=1152233756" data-post-number="1"><svg class="fa d-icon d-icon-link svg-icon svg-node" aria-hidden="true"><use xlink:href="#link"></use></svg></button><button class="widget-button btn-flat bookmark with-reminder no-text btn-icon" aria-label="收藏此帖" title="收藏此帖"><svg class="fa d-icon d-icon-bookmark svg-icon svg-node" aria-hidden="true"><use xlink:href="#bookmark"></use></svg></button><button class="widget-button btn-flat reply create fade-out btn-icon-text" aria-label="开始撰写本帖的回复" title="开始撰写本帖的回复"><svg class="fa d-icon d-icon-reply svg-icon svg-node" aria-hidden="true"><use xlink:href="#reply"></use></svg><span class="d-button-label">回复</span></button></div></nav></section></div><section class="post-actions">
  </section><div class="post-links-container"><ul class="post-links"><li><a class="track-link inbound" href="https://ceshiren.com/t/topic/9919"><svg class="fa d-icon d-icon-link svg-icon svg-node" aria-hidden="true"><use xlink:href="#link"></use></svg><span>测试开发17期—课程导航帖</span></a></li></ul></div><div class="topic-map"><section class="map map-collapsed"><nav class="buttons"><button class="widget-button btn btn no-text btn-icon" aria-label="切换主题详情" title="切换主题详情"><svg class="fa d-icon d-icon-chevron-down svg-icon svg-node" aria-hidden="true"><use xlink:href="#chevron-down"></use></svg></button></nav><ul class="clearfix"><li class="created-at"><h4 role="presentation">创建时间</h4><div class="topic-map-post created-at"><a class="trigger-user-card " data-user-card="mayunlong" aria-hidden="true"><img alt="" width="20" height="20" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/9557_2.png(1).下载" title="瓶子" class="avatar"></a><span title="2020年8月18日 14:03" data-time="1597730636849" data-format="tiny" class="relative-date">20年8月</span></div></li><li class="last-reply"><a href="https://ceshiren.com/t/topic/5528/7"><h4 role="presentation">最后回复</h4><div class="topic-map-post last-reply"><a class="trigger-user-card " data-user-card="Comeon" aria-hidden="true"><img alt="" width="20" height="20" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/20.png.下载" title="Comeon" class="avatar"></a><span title="2021年1月9日 21:36" data-time="1610199413489" data-format="tiny" class="relative-date">1月9日</span></div></a></li><li class="replies"><span class="number">6</span><h4 role="presentation">回复</h4></li><li class="secondary views"><span class="number heatmap-low" title="1493">1.5k</span><h4 role="presentation">浏览</h4></li><li class="secondary users"><span class="number">4</span><h4 role="presentation">用户</h4></li><li class="secondary likes"><span class="number">18</span><h4 role="presentation">赞</h4></li><li class="secondary links"><span class="number">48</span><h4 role="presentation">链接</h4></li><li class="avatars"><div class="group-ceba"><a class="poster trigger-user-card" title="mayunlong" data-user-card="mayunlong"><img alt="" width="32" height="32" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/9557_2.png(2).下载" title="瓶子" class="avatar"></a></div><div><a class="poster trigger-user-card" title="Comeon" data-user-card="Comeon"><img alt="" width="32" height="32" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/32.png(1).下载" title="Comeon" class="avatar"></a></div><div><a class="poster trigger-user-card" title="328441488" data-user-card="328441488"><img alt="" width="32" height="32" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/32.png(2).下载" title="jackey" class="avatar"></a></div></li></ul></section></div></div></div></article></div><div id="post_2" class="small-action onscreen-post"><div class="topic-avatar"><svg class="fa d-icon d-icon-far-eye-slash svg-icon svg-node" aria-hidden="true"><use xlink:href="#far-eye-slash"></use></svg></div><div class="small-action-desc"><a class="trigger-user-card " href="https://ceshiren.com/u/mayunlong" data-user-card="mayunlong" aria-hidden="true"><img alt="" width="25" height="25" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/9557_2.png(3).下载" title="mayunlong" class="avatar"></a><p>于<span class="relative-date" data-time="1597730642576" data-format="medium-with-ago">20年8月18日</span>隐藏</p></div></div><div id="post_3" class="small-action onscreen-post"><div class="topic-avatar"><svg class="fa d-icon d-icon-far-eye svg-icon svg-node" aria-hidden="true"><use xlink:href="#far-eye"></use></svg></div><div class="small-action-desc"><a class="trigger-user-card " href="https://ceshiren.com/u/Muller" data-user-card="Muller" aria-hidden="true"><img alt="" width="25" height="25" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/64_2.png.下载" title="Muller" class="avatar"></a><p>于<span class="relative-date" data-time="1597801585669" data-format="medium-with-ago">20年8月19日</span>列出</p></div></div><div class="cloaked-post" id="post_4" style="min-height: 167.5px"></div><div class="cloaked-post" id="post_5" style="min-height: 166.5px"></div><div class="time-gap small-action"><div class="topic-avatar"></div><div class="small-action-desc timegap">5 个月后</div></div><div id="post_6" class="small-action onscreen-post"><div class="topic-avatar"><svg class="fa d-icon d-icon-thumbtack svg-icon svg-node" aria-hidden="true"><use xlink:href="#thumbtack"></use></svg></div><div class="small-action-desc"><a class="trigger-user-card " href="https://ceshiren.com/u/Muller" data-user-card="Muller" aria-hidden="true"><img alt="" width="25" height="25" src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/64_2.png.下载" title="Muller" class="avatar"></a><p>于<span class="relative-date" data-time="1610176791947" data-format="medium-with-ago">1月9日</span>置顶</p></div></div><div class="cloaked-post" id="post_7" style="min-height: 160.5px"></div></div></div>

            <div id="ember31" class="loading-container ember-view">  
</div>
          </div>
          <div id="topic-bottom"></div>

<div id="ember32" class="loading-container ember-view">  
<!---->
<!---->
              <div id="ember33" class="ember-view"><!----></div>

              <div id="ember34" class="topic-status-info ember-view"><!----></div>

<!---->

</div>
        </section>
      </div>

    </div>
          <span id="ember35" class="ember-view">  <div id="ember37" class="topic-above-footer-buttons-outlet presence ember-view"><div id="ember38" class="ember-view"><!----></div>
</div>
</span>

          <div id="topic-footer-buttons" class="ember-view"><div class="topic-footer-main-buttons">
  <span id="ember39" class="topic-admin-menu-button-container ember-view"><span></span></span>

<!---->
    <button aria-label="分享" title="分享指向这个主题的链接" id="topic-footer-button-share-and-invite" class="btn-default topic-footer-button share-and-invite btn btn-icon-text ember-view" type="button"><svg class="fa d-icon d-icon-link svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#link"></use></svg><span class="d-button-label">分享<!----></span>
</button>
    <button aria-label="收藏" title="点击收藏该主题的第一个帖子" id="topic-footer-button-bookmark" class="btn-default topic-footer-button bookmark btn btn-icon-text ember-view" type="button"><svg class="fa d-icon d-icon-bookmark svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#bookmark"></use></svg><span class="d-button-label">收藏<!----></span>
</button>
    <button aria-label="标记" title="背地里标记该帖以示警示，或发送关于它的私下通知" id="topic-footer-button-flag" class="btn-default topic-footer-button flag-topic btn btn-icon-text ember-view" type="button"><svg class="fa d-icon d-icon-flag svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#flag"></use></svg><span class="d-button-label">标记<!----></span>
</button>

  <!---->

    <button aria-label="回复" title="开始撰写此主题的回复" id="ember44" class="btn-primary create btn btn-icon-text ember-view" type="button"><svg class="fa d-icon d-icon-reply svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#reply"></use></svg><span class="d-button-label">回复<!----></span>
</button>

  <!---->
</div>

<div id="ember46" class="pinned-button ember-view"><p class="reason">
  <div id="ember47" class="select-kit single-select dropdown-select-box pinned-options has-selection ember-view">  <button data-name="pinned" data-value="true" role="button" data-select-kit-id="ember47-header" aria-expanded="false" aria-haspopup="" aria-owns="[data-select-kit-id=ember47-body]" tabindex="0" id="ember48" class="select-kit-header single-select-header btn-default dropdown-select-box-header btn btn-icon-text ember-view" type="button"><!---->

  <div tabindex="0" title="置顶" data-value="" data-name="pinned" class="select-kit-selected-name selected-name choice" data-ember-action="" data-ember-action-50="50">
      <svg class="fa d-icon d-icon-thumbtack svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#thumbtack"></use></svg>

    <span class="name">
      <span>置顶</span>
    </span>

<!---->  </div>


  <svg class="fa d-icon d-icon-caret-down svg-icon caret-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#caret-down"></use></svg>
</button>

<div data-select-kit-id="ember47-body" id="ember51" class="select-kit-body ember-view"><!----></div>
  <div class="select-kit-wrapper"></div>
</div>
  <span class="text">本主题已置顶；它将始终显示在它所属分类的顶部</span>
</p>
</div>

  <div id="ember52" class="topic-notifications-button ember-view">  <p class="reason">
    <div id="ember53" class="select-kit single-select dropdown-select-box notifications-button topic-notifications-options has-selection ember-view">  <button data-name="regular" data-value="1" role="button" data-select-kit-id="ember53-header" aria-expanded="false" aria-haspopup="" aria-owns="[data-select-kit-id=ember53-body]" tabindex="0" id="ember54" class="select-kit-header single-select-header btn-default dropdown-select-box-header btn btn-icon-text ember-view" type="button"><!---->

  <div tabindex="0" title="普通" data-value="1" data-name="regular" class="select-kit-selected-name selected-name choice" data-ember-action="" data-ember-action-56="56">
      <svg class="fa d-icon d-icon-d-regular svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#far-bell"></use></svg>

    <span class="name">
      普通
    </span>

<!---->  </div>


  <svg class="fa d-icon d-icon-caret-down svg-icon caret-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#caret-down"></use></svg>
</button>

<div data-select-kit-id="ember53-body" id="ember57" class="select-kit-body ember-view"><!----></div>
  <div class="select-kit-wrapper"></div>
</div>
    <span class="text">如果有人@你或回复你，将通知你。</span>
  </p>
</div>

<!---->
</div>

      <span id="ember59" class="ember-view"><!----></span>
      <div class=" suggested-topics-wrapper">
<!---->          <div id="suggested-topics" class="suggested-topics" role="complementary" aria-labelledby="suggested-topics-title">
  <h3 id="suggested-topics-title" class="suggested-topics-title">
    推荐主题
  </h3>

  <div class="topics">
      <div id="ember61" class="ember-view"><div id="ember62" class="loading-container ember-view">  <!---->
    <table id="ember63" class="topic-list ember-view">  <thead>
    <tr><th data-sort-order="default" class="default">主题</th>

<th data-sort-order="posts" class="posts num">回复</th>

<th data-sort-order="views" class="views num">浏览</th>

<th data-sort-order="activity" class="activity num">活动</th>

</tr>
  </thead>

<!---->

<tbody>
    <tr data-topic-id="10160" id="ember66" class="topic-list-item category-22-category unseen-topic ember-view">


<td class="main-link clearfix" colspan="1">
  <span class="link-top-line"><a href="https://ceshiren.com/t/topic/10160" class="title raw-link raw-topic-link" data-topic-id="10160">微信小程序测试微信总是闪退，用的genymotion，这个测试有没有更细致一点的代码，能完整走一遍</a><span class="topic-post-badges">&nbsp;<a href="https://ceshiren.com/t/topic/10160" class="badge badge-notification new-topic" title="近期主题"></a></span>
  </span>
  <div class="link-bottom-line">
        <a class="badge-wrapper bullet" href="https://ceshiren.com/c/22-category/22"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge" title="霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。"><span class="category-name">霍格沃兹答疑区</span></span></a>
    
    
  </div>
</td>


<td class="num posts-map posts heatmap-" title="这个主题共有0个回复">
  <a href="https://ceshiren.com/t/topic/5528" class="posts-map badge-posts heatmap-">
    
    <span class="number" aria-label="这个主题共有0个回复">0</span>
  </a>
</td>




<td class="num views "><span class="number" title="本主题已经被浏览过 1 次">1</span></td>

<td class="num age activity" title="最早帖子: 2021年2月21日 20:21
最后发帖: 2021年2月21日 20:21">
  <a class="post-activity" href="https://ceshiren.com/t/topic/10160/1"><span class="relative-date" data-time="1613910096073" data-format="tiny">27 分钟</span></a>
</td>


</tr>
    <!---->
    <tr data-topic-id="10148" id="ember68" class="topic-list-item category-22-category tag-appium unseen-topic ember-view">


<td class="main-link clearfix" colspan="1">
  <span class="link-top-line"><a href="https://ceshiren.com/t/topic/10148" class="title raw-link raw-topic-link" data-topic-id="10148">有关pageobject中的黑名单问题_阶段6里面的数据驱动</a><span class="topic-post-badges">&nbsp;<a href="https://ceshiren.com/t/topic/10148" class="badge badge-notification new-topic" title="近期主题"></a></span>
  </span>
  <div class="link-bottom-line">
        <a class="badge-wrapper bullet" href="https://ceshiren.com/c/22-category/22"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge" title="霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。"><span class="category-name">霍格沃兹答疑区</span></span></a>
    <div class="discourse-tags"><a href="https://ceshiren.com/tag/appium" data-tag-name="appium" class="discourse-tag box">appium</a> </div>
    
  </div>
</td>


<td class="num posts-map posts heatmap-" title="这个主题共有1个回复">
  <a href="https://ceshiren.com/t/topic/5528" class="posts-map badge-posts heatmap-">
    
    <span class="number" aria-label="这个主题共有1个回复">1</span>
  </a>
</td>




<td class="num views "><span class="number" title="本主题已经被浏览过 22 次">22</span></td>

<td class="num age activity" title="最早帖子: 2021年2月20日 19:49
最后发帖: 2021年2月21日 19:32">
  <a class="post-activity" href="https://ceshiren.com/t/topic/10148/2"><span class="relative-date" data-time="1613907149888" data-format="tiny">约 1 小时</span></a>
</td>


</tr>
    <!---->
    <tr data-topic-id="10156" id="ember70" class="topic-list-item category-22-category unseen-topic ember-view">


<td class="main-link clearfix" colspan="1">
  <span class="link-top-line"><a href="https://ceshiren.com/t/topic/10156" class="title raw-link raw-topic-link" data-topic-id="10156">启动Appium 点击Start Session报错</a><span class="topic-post-badges">&nbsp;<a href="https://ceshiren.com/t/topic/10156" class="badge badge-notification new-topic" title="近期主题"></a></span>
  </span>
  <div class="link-bottom-line">
        <a class="badge-wrapper bullet" href="https://ceshiren.com/c/22-category/22"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge" title="霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。"><span class="category-name">霍格沃兹答疑区</span></span></a>
    
    
  </div>
</td>


<td class="num posts-map posts heatmap-" title="这个主题共有9个回复">
  <a href="https://ceshiren.com/t/topic/5528" class="posts-map badge-posts heatmap-">
    
    <span class="number" aria-label="这个主题共有9个回复">9</span>
  </a>
</td>




<td class="num views "><span class="number" title="本主题已经被浏览过 17 次">17</span></td>

<td class="num age activity" title="最早帖子: 2021年2月21日 10:50
最后发帖: 2021年2月21日 18:08">
  <a class="post-activity" href="https://ceshiren.com/t/topic/10156/10"><span class="relative-date" data-time="1613902108071" data-format="tiny">约 3 小时</span></a>
</td>


</tr>
    <!---->
    <tr data-topic-id="10153" id="ember72" class="topic-list-item category-22-category tag-appium tag-python unseen-topic ember-view">


<td class="main-link clearfix" colspan="1">
  <span class="link-top-line"><a href="https://ceshiren.com/t/topic/10153" class="title raw-link raw-topic-link" data-topic-id="10153">iOS UI 自动化，pytest+wda，登录场景跳转到QQ不会返回待测app，请教稳定返回待测app的方法</a><span class="topic-post-badges">&nbsp;<a href="https://ceshiren.com/t/topic/10153" class="badge badge-notification new-topic" title="近期主题"></a></span>
  </span>
  <div class="link-bottom-line">
        <a class="badge-wrapper bullet" href="https://ceshiren.com/c/22-category/22"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge" title="霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。"><span class="category-name">霍格沃兹答疑区</span></span></a>
    <div class="discourse-tags"><a href="https://ceshiren.com/tag/appium" data-tag-name="appium" class="discourse-tag box">appium</a> <a href="https://ceshiren.com/tag/python" data-tag-name="python" class="discourse-tag box">python</a> </div>
    
  </div>
</td>


<td class="num posts-map posts heatmap-" title="这个主题共有1个回复">
  <a href="https://ceshiren.com/t/topic/5528" class="posts-map badge-posts heatmap-">
    
    <span class="number" aria-label="这个主题共有1个回复">1</span>
  </a>
</td>




<td class="num views "><span class="number" title="本主题已经被浏览过 17 次">17</span></td>

<td class="num age activity" title="最早帖子: 2021年2月20日 23:34
最后发帖: 2021年2月20日 23:39">
  <a class="post-activity" href="https://ceshiren.com/t/topic/10153/2"><span class="relative-date" data-time="1613835567840" data-format="tiny">约 21 小时</span></a>
</td>


</tr>
    <!---->
    <tr data-topic-id="10149" id="ember74" class="topic-list-item category-22-category tag-appium tag-pytest unseen-topic ember-view">


<td class="main-link clearfix" colspan="1">
  <span class="link-top-line"><a href="https://ceshiren.com/t/topic/10149" class="title raw-link raw-topic-link" data-topic-id="10149">appium封装黑名单提示找不到关闭的元素，已添加隐式等到为10秒</a><span class="topic-post-badges">&nbsp;<a href="https://ceshiren.com/t/topic/10149" class="badge badge-notification new-topic" title="近期主题"></a></span>
  </span>
  <div class="link-bottom-line">
        <a class="badge-wrapper bullet" href="https://ceshiren.com/c/22-category/22"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge" title="霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。"><span class="category-name">霍格沃兹答疑区</span></span></a>
    <div class="discourse-tags"><a href="https://ceshiren.com/tag/appium" data-tag-name="appium" class="discourse-tag box">appium</a> <a href="https://ceshiren.com/tag/pytest" data-tag-name="pytest" class="discourse-tag box">pytest</a> </div>
    
  </div>
</td>


<td class="num posts-map posts heatmap-" title="这个主题共有21个回复">
  <a href="https://ceshiren.com/t/topic/5528" class="posts-map badge-posts heatmap-">
    
    <span class="number" aria-label="这个主题共有21个回复">21</span>
  </a>
</td>




<td class="num views "><span class="number" title="本主题已经被浏览过 26 次">26</span></td>

<td class="num age activity" title="最早帖子: 2021年2月20日 20:26
最后发帖: 2021年2月20日 23:35">
  <a class="post-activity" href="https://ceshiren.com/t/topic/10149/22"><span class="relative-date" data-time="1613835302868" data-format="tiny">约 21 小时</span></a>
</td>


</tr>
    <!---->
</tbody>
</table>

</div></div>
  </div>

  <h3 class="suggested-topics-message">
    还有   <a href="https://ceshiren.com/new">10 个近期</a>主题可以阅读，或者浏览<a class="badge-wrapper bullet" href="https://ceshiren.com/c/sdet-python/7"><span class="badge-category-bg" style="background-color: #0088CC;"></span><span data-drop-close="true" class="badge-category clear-badge restricted"><svg class="fa d-icon d-icon-lock svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#lock"></use></svg><span class="category-name">Python测试开发班</span></span></a>中的其他主题
  </h3>
</div>

      </div>

  <div id="share-link" class="ember-view"><div class="title">
  <h3>[zh_CN.share.topic]</h3>

<!----></div>

<div>
  <input aria-label="复制并分享网址" type="text">
</div>

<div class="actions">
  <div class="sources">
<!---->  </div>

  <div class="alt-actions">
      <div class="reply-as-new-topic">
          <a href="https://ceshiren.com/t/topic/5528" class="new-topic" aria-label="回复为联结主题" title="回复为联结主题" data-ember-action="" data-ember-action-75="75">
            <svg class="fa d-icon d-icon-plus svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#plus"></use></svg>
            创建新主题
          </a>
      </div>

    <button title="关闭" id="ember76" class="btn btn-flat close btn no-text btn-icon ember-view" type="button"><svg class="fa d-icon d-icon-times svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#times"></use></svg><!---->
</button>
  </div>
</div>
</div>

  <div id="ember77" class="quote-button ember-view">  <button aria-label="引用" id="ember78" class="btn-flat insert-quote btn btn-icon-text ember-view" type="button"><svg class="fa d-icon d-icon-quote-left svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#quote-left"></use></svg><span class="d-button-label">引用<!----></span>
</button>

<!---->
<!---->
</div>
</div>
  <!---->
<div id="user-card" class="user-card show-badges no-bg ember-view" style="left: -9999px; top: -9999px;"><!----></div>

<div id="group-card" class="no-bg group-card show-badges ember-view" style="left: -9999px; top: -9999px;"><!----></div>

</div>

<!---->
  <div id="ember80" class="ember-view"></div>
  <div id="ember82" class="below-footer-outlet custom-footer ember-view">  <div class="wrap">
    <div class="flexbox">
      <div class="first-box">
        <div class="heading">
          关于我们
        </div>
        <div class="blurb">
          测试人社区隶属于测吧（北京）科技有限公司，是一家集企业测试技术服务，技术研发以及培训为一体的科技公司。霍格沃兹测试学院是公司旗下一家测试开发工程师高端教育机构，学院文化与精神来源于《哈利波特》电影中的霍格沃茨魔法学校。
        </div>
      </div>
      <div class="second-box">
        <div class="links">
            <div class="list">
              <span class="友情链接">
                友情链接
              </span>
              <ul>
                  <li class="footer-section-link-wrapper 测试窝">
                    <a class="footer-section-link" href="https://www.testwo.com/" target="_blank">
                      测试窝
                    </a>
                  </li>
                  <li class="footer-section-link-wrapper jenkins中文社区">
                    <a class="footer-section-link" href="http://jenkins-zh.cn/" target="_blank">
                      Jenkins中文社区
                    </a>
                  </li>
              </ul>
            </div>
            <div class="list">
              <span class="站点信息">
                站点信息
              </span>
              <ul>
                  <li class="footer-section-link-wrapper 备案号-京icp备18024667号-2">
                    <a class="footer-section-link" target="">
                      备案号 京ICP备18024667号-2
                    </a>
                  </li>
              </ul>
            </div>
            <div class="list">
              <span class="联系我们">
                联系我们
              </span>
              <ul>
                  <li class="footer-section-link-wrapper 微信：ihogwarts006">
                    <a class="footer-section-link" target="">
                      微信：iHogwarts006
                    </a>
                  </li>
                  <li class="footer-section-link-wrapper 邮箱：hrbp@ceshiren.com">
                    <a class="footer-section-link" target="">
                      邮箱：hrbp@ceshiren.com
                    </a>
                  </li>
                  <li class="footer-section-link-wrapper 地址：北京市昌平区回龙观东大街腾讯众创空间a座">
                    <a class="footer-section-link" target="">
                      地址：北京市昌平区回龙观东大街腾讯众创空间A座
                    </a>
                  </li>
                  <li class="footer-section-link-wrapper 电话：010-80757114">
                    <a class="footer-section-link" target="">
                      电话：010-80757114
                    </a>
                  </li>
              </ul>
            </div>
        </div>
      </div>
      <div class="third-box">
        <div class="footer-links">
<!---->        </div>
        <div class="social">
<!---->        </div>
      </div>
    </div>
  </div>
</div>


<div aria-modal="true" data-keyboard="false" id="discourse-modal" class="hidden modal d-modal fixed-modal ember-view"><div class="modal-outer-container">
  <div class="modal-middle-container">
    <div class="modal-inner-container">
      <div class="modal-header">
          <button title="关闭" id="ember94" class="btn-flat modal-close close btn no-text btn-icon ember-view" type="button"><svg class="fa d-icon d-icon-times svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#times"></use></svg><!---->
</button>

<!---->
<!---->      </div>

      <div id="modal-alert"></div>

        <div id="ember105" class="ember-view"></div>



<!---->    </div>
  </div>
</div>
</div>
<div id="topic-entrance" class="hidden ember-view"><button id="ember95" class="full jump-top btn no-text ember-view" type="button"><!----><!---->  <svg class="fa d-icon d-icon-step-backward svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#step-backward"></use></svg> Invalid date

</button>
<button id="ember96" class="full jump-bottom btn no-text ember-view" type="button"><!----><!---->  Invalid date <svg class="fa d-icon d-icon-step-forward svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#step-forward"></use></svg>

</button></div>
<div id="reply-control" class="closed composer-action-undefined show-preview ember-view">  <div class="grippie"></div>
<!---->
</div>

<!----></div></section>

    <div id="offscreen-content">
    </div>


    <div class="hidden" id="data-preloaded" data-preloaded="{&quot;site&quot;:&quot;{\&quot;default_archetype\&quot;:\&quot;regular\&quot;,\&quot;notification_types\&quot;:{\&quot;mentioned\&quot;:1,\&quot;replied\&quot;:2,\&quot;quoted\&quot;:3,\&quot;edited\&quot;:4,\&quot;liked\&quot;:5,\&quot;private_message\&quot;:6,\&quot;invited_to_private_message\&quot;:7,\&quot;invitee_accepted\&quot;:8,\&quot;posted\&quot;:9,\&quot;moved_post\&quot;:10,\&quot;linked\&quot;:11,\&quot;granted_badge\&quot;:12,\&quot;invited_to_topic\&quot;:13,\&quot;custom\&quot;:14,\&quot;group_mentioned\&quot;:15,\&quot;group_message_summary\&quot;:16,\&quot;watching_first_post\&quot;:17,\&quot;topic_reminder\&quot;:18,\&quot;liked_consolidated\&quot;:19,\&quot;post_approved\&quot;:20,\&quot;code_review_commit_approved\&quot;:21,\&quot;membership_request_accepted\&quot;:22,\&quot;membership_request_consolidated\&quot;:23,\&quot;bookmark_reminder\&quot;:24,\&quot;reaction\&quot;:25,\&quot;votes_released\&quot;:26,\&quot;event_reminder\&quot;:27,\&quot;event_invitation\&quot;:28},\&quot;post_types\&quot;:{\&quot;regular\&quot;:1,\&quot;moderator_action\&quot;:2,\&quot;small_action\&quot;:3,\&quot;whisper\&quot;:4},\&quot;groups\&quot;:[{\&quot;id\&quot;:1,\&quot;name\&quot;:\&quot;admins\&quot;},{\&quot;id\&quot;:42,\&quot;name\&quot;:\&quot;ceba\&quot;},{\&quot;id\&quot;:46,\&quot;name\&quot;:\&quot;dx1\&quot;},{\&quot;id\&quot;:47,\&quot;name\&quot;:\&quot;dx2\&quot;},{\&quot;id\&quot;:52,\&quot;name\&quot;:\&quot;dx3\&quot;},{\&quot;id\&quot;:68,\&quot;name\&quot;:\&quot;dx4\&quot;},{\&quot;id\&quot;:80,\&quot;name\&quot;:\&quot;gl_1\&quot;},{\&quot;id\&quot;:44,\&quot;name\&quot;:\&quot;lagou_python1\&quot;},{\&quot;id\&quot;:53,\&quot;name\&quot;:\&quot;lagou_python2\&quot;},{\&quot;id\&quot;:61,\&quot;name\&quot;:\&quot;lagou_python3\&quot;},{\&quot;id\&quot;:69,\&quot;name\&quot;:\&quot;lagou_python4\&quot;},{\&quot;id\&quot;:72,\&quot;name\&quot;:\&quot;lagou_python5\&quot;},{\&quot;id\&quot;:73,\&quot;name\&quot;:\&quot;lagou_python6\&quot;},{\&quot;id\&quot;:74,\&quot;name\&quot;:\&quot;lagou_python7\&quot;},{\&quot;id\&quot;:2,\&quot;name\&quot;:\&quot;moderators\&quot;},{\&quot;id\&quot;:50,\&quot;name\&quot;:\&quot;python_10\&quot;},{\&quot;id\&quot;:48,\&quot;name\&quot;:\&quot;python_11\&quot;},{\&quot;id\&quot;:51,\&quot;name\&quot;:\&quot;python_12\&quot;},{\&quot;id\&quot;:54,\&quot;name\&quot;:\&quot;python_14\&quot;},{\&quot;id\&quot;:64,\&quot;name\&quot;:\&quot;python_15\&quot;},{\&quot;id\&quot;:76,\&quot;name\&quot;:\&quot;python_16\&quot;},{\&quot;id\&quot;:79,\&quot;name\&quot;:\&quot;python_17\&quot;},{\&quot;id\&quot;:60,\&quot;name\&quot;:\&quot;python_5\&quot;},{\&quot;id\&quot;:59,\&quot;name\&quot;:\&quot;python_6\&quot;},{\&quot;id\&quot;:58,\&quot;name\&quot;:\&quot;python_7\&quot;},{\&quot;id\&quot;:57,\&quot;name\&quot;:\&quot;python_8\&quot;},{\&quot;id\&quot;:56,\&quot;name\&quot;:\&quot;python_9\&quot;},{\&quot;id\&quot;:45,\&quot;name\&quot;:\&quot;Python_automation1\&quot;},{\&quot;id\&quot;:55,\&quot;name\&quot;:\&quot;Python_automation2\&quot;},{\&quot;id\&quot;:71,\&quot;name\&quot;:\&quot;Python_automation3\&quot;},{\&quot;id\&quot;:3,\&quot;name\&quot;:\&quot;staff\&quot;},{\&quot;id\&quot;:63,\&quot;name\&quot;:\&quot;Studymembers\&quot;},{\&quot;id\&quot;:10,\&quot;name\&quot;:\&quot;trust_level_0\&quot;},{\&quot;id\&quot;:11,\&quot;name\&quot;:\&quot;trust_level_1\&quot;},{\&quot;id\&quot;:12,\&quot;name\&quot;:\&quot;trust_level_2\&quot;},{\&quot;id\&quot;:13,\&quot;name\&quot;:\&quot;trust_level_3\&quot;},{\&quot;id\&quot;:14,\&quot;name\&quot;:\&quot;trust_level_4\&quot;},{\&quot;id\&quot;:66,\&quot;name\&quot;:\&quot;xianxia_beijing\&quot;},{\&quot;id\&quot;:67,\&quot;name\&quot;:\&quot;xianxia_hangzhou\&quot;},{\&quot;id\&quot;:65,\&quot;name\&quot;:\&quot;xianxia_shanghai\&quot;},{\&quot;id\&quot;:49,\&quot;name\&quot;:\&quot;xn1\&quot;},{\&quot;id\&quot;:62,\&quot;name\&quot;:\&quot;xn2\&quot;}],\&quot;filters\&quot;:[\&quot;latest\&quot;,\&quot;unread\&quot;,\&quot;new\&quot;,\&quot;top\&quot;,\&quot;read\&quot;,\&quot;posted\&quot;,\&quot;bookmarks\&quot;],\&quot;periods\&quot;:[\&quot;all\&quot;,\&quot;yearly\&quot;,\&quot;quarterly\&quot;,\&quot;monthly\&quot;,\&quot;weekly\&quot;,\&quot;daily\&quot;],\&quot;top_menu_items\&quot;:[\&quot;latest\&quot;,\&quot;unread\&quot;,\&quot;new\&quot;,\&quot;top\&quot;,\&quot;read\&quot;,\&quot;posted\&quot;,\&quot;bookmarks\&quot;,\&quot;categories\&quot;],\&quot;anonymous_top_menu_items\&quot;:[\&quot;latest\&quot;,\&quot;top\&quot;,\&quot;categories\&quot;,\&quot;categories\&quot;,\&quot;top\&quot;],\&quot;uncategorized_category_id\&quot;:1,\&quot;disabled_plugins\&quot;:[\&quot;discourse-translator\&quot;,\&quot;styleguide\&quot;],\&quot;user_field_max_length\&quot;:2048,\&quot;post_action_types\&quot;:[{\&quot;id\&quot;:1,\&quot;name_key\&quot;:\&quot;bookmark\&quot;,\&quot;name\&quot;:\&quot;收藏\&quot;,\&quot;description\&quot;:\&quot;收藏本帖\&quot;,\&quot;short_description\&quot;:\&quot;收藏该帖子\&quot;,\&quot;is_flag\&quot;:false,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:2,\&quot;name_key\&quot;:\&quot;like\&quot;,\&quot;name\&quot;:\&quot;赞\&quot;,\&quot;description\&quot;:\&quot;赞这个帖子\&quot;,\&quot;short_description\&quot;:\&quot;赞这个帖子\&quot;,\&quot;is_flag\&quot;:false,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:3,\&quot;name_key\&quot;:\&quot;off_topic\&quot;,\&quot;name\&quot;:\&quot;偏离主题\&quot;,\&quot;description\&quot;:\&quot;该帖子与当前主题的标题和首帖内容所无关，可能需要被移动到其它地方。\&quot;,\&quot;short_description\&quot;:\&quot;和讨论不相关\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:4,\&quot;name_key\&quot;:\&quot;inappropriate\&quot;,\&quot;name\&quot;:\&quot;不当内容\&quot;,\&quot;description\&quot;:\&quot;该帖子的内容包含对他人攻击、辱骂的言论或违反了\\u003ca href=\\\&quot;/guidelines\\\&quot;\\u003e我们的社区指引\\u003c/a\\u003e。\&quot;,\&quot;short_description\&quot;:\&quot;违反了\\u003ca href=\\\&quot;/guidelines\\\&quot;\\u003e我们的社区指引\\u003c/a\\u003e\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:8,\&quot;name_key\&quot;:\&quot;spam\&quot;,\&quot;name\&quot;:\&quot;垃圾内容\&quot;,\&quot;description\&quot;:\&quot;该帖子是广告或破坏。帖子没有价值或者与当前主题无关。\&quot;,\&quot;short_description\&quot;:\&quot;这是广告或者破坏行为\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:6,\&quot;name_key\&quot;:\&quot;notify_user\&quot;,\&quot;name\&quot;:\&quot;给@%{username}发送一条私信\&quot;,\&quot;description\&quot;:\&quot;我想亲自与此人私下交流关于该帖子的事情。\&quot;,\&quot;short_description\&quot;:\&quot;我想亲自与此人私下交流关于该帖子的事情。\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:true},{\&quot;id\&quot;:null,\&quot;name_key\&quot;:null,\&quot;name\&quot;:\&quot;translation missing: zh_CN.post_action_types..title\&quot;,\&quot;description\&quot;:\&quot;translation missing: zh_CN.post_action_types.description\&quot;,\&quot;short_description\&quot;:\&quot;translation missing: zh_CN.post_action_types.short_description\&quot;,\&quot;is_flag\&quot;:false,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:7,\&quot;name_key\&quot;:\&quot;notify_moderators\&quot;,\&quot;name\&quot;:\&quot;其他事项\&quot;,\&quot;description\&quot;:\&quot;这个帖子需要版主的注意，但是原因没有包括在上述选项中。\&quot;,\&quot;short_description\&quot;:\&quot;需要管理人员注意的其他原因\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:true}],\&quot;topic_flag_types\&quot;:[{\&quot;id\&quot;:4,\&quot;name_key\&quot;:\&quot;inappropriate\&quot;,\&quot;name\&quot;:\&quot;不当内容\&quot;,\&quot;description\&quot;:\&quot;该帖子的内容包含对他人攻击、辱骂的言论或违反了\\u003ca href=\\\&quot;/guidelines\\\&quot;\\u003e我们的社区准则\\u003c/a\\u003e。\&quot;,\&quot;short_description\&quot;:\&quot;违反了\\u003ca href=\\\&quot;/guidelines\\\&quot;\\u003e我们的社区指引\\u003c/a\\u003e\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:8,\&quot;name_key\&quot;:\&quot;spam\&quot;,\&quot;name\&quot;:\&quot;垃圾\&quot;,\&quot;description\&quot;:\&quot;该主题是一个广告。它对本网站没有用处或相关性，仅仅是推销内容。\&quot;,\&quot;short_description\&quot;:\&quot;这是广告\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:null,\&quot;name_key\&quot;:null,\&quot;name\&quot;:\&quot;translation missing: zh_CN.topic_flag_types..title\&quot;,\&quot;description\&quot;:\&quot;translation missing: zh_CN.topic_flag_types.description\&quot;,\&quot;short_description\&quot;:\&quot;translation missing: zh_CN.topic_flag_types.short_description\&quot;,\&quot;is_flag\&quot;:false,\&quot;is_custom_flag\&quot;:false},{\&quot;id\&quot;:7,\&quot;name_key\&quot;:\&quot;notify_moderators\&quot;,\&quot;name\&quot;:\&quot;其他内容\&quot;,\&quot;description\&quot;:\&quot;该主题需要版主依据\\u003ca href=\\\&quot;/guidelines\\\&quot;\\u003e社区准则\\u003c/a\\u003e、\\u003ca href=\\\&quot;/tos\\\&quot;\\u003e服务条款（TOS）\\u003c/a\\u003e或其它未列出的原因给予关注。\&quot;,\&quot;short_description\&quot;:\&quot;因其他原因需要管理人员注意\&quot;,\&quot;is_flag\&quot;:true,\&quot;is_custom_flag\&quot;:true}],\&quot;can_create_tag\&quot;:false,\&quot;can_tag_topics\&quot;:true,\&quot;can_tag_pms\&quot;:false,\&quot;tags_filter_regexp\&quot;:\&quot;[/\\\\?#\\\\[\\\\]@!\\\\$\\u0026&#39;\\\\(\\\\)\\\\*\\\\+,;=\\\\.%\\\\\\\\`^\\\\s|\\\\{\\\\}\\\&quot;\\u003c\\u003e]+\&quot;,\&quot;top_tags\&quot;:[\&quot;官方文档\&quot;,\&quot;appium\&quot;,\&quot;done\&quot;,\&quot;selenium\&quot;,\&quot;python\&quot;,\&quot;pytest\&quot;,\&quot;open\&quot;,\&quot;赏金内推\&quot;,\&quot;todo\&quot;,\&quot;jenkins\&quot;,\&quot;docker\&quot;,\&quot;接口测试\&quot;,\&quot;专项测试\&quot;,\&quot;测试开发\&quot;,\&quot;精华帖\&quot;,\&quot;jmeter\&quot;,\&quot;预习贴\&quot;,\&quot;stf\&quot;,\&quot;allure\&quot;,\&quot;linux\&quot;,\&quot;appcrawler\&quot;,\&quot;close\&quot;,\&quot;array\&quot;,\&quot;charles\&quot;,\&quot;httprunner\&quot;,\&quot;自动化测试\&quot;,\&quot;软件测试\&quot;,\&quot;adb\&quot;,\&quot;mitmproxy\&quot;,\&quot;公开课\&quot;,\&quot;课包\&quot;,\&quot;android\&quot;,\&quot;requests\&quot;,\&quot;测试面试\&quot;,\&quot;git\&quot;,\&quot;作业\&quot;,\&quot;性能测试\&quot;,\&quot;shell\&quot;,\&quot;霍格沃兹课程表\&quot;,\&quot;apache\&quot;,\&quot;doing\&quot;,\&quot;google\&quot;,\&quot;ios\&quot;,\&quot;monkey\&quot;,\&quot;python自动化测试\&quot;,\&quot;公益\&quot;,\&quot;微信小程序测试\&quot;,\&quot;教材\&quot;,\&quot;沙龙\&quot;,\&quot;测试内推\&quot;,\&quot;测试教程\&quot;,\&quot;测试架构师\&quot;,\&quot;测试职业发展\&quot;,\&quot;测试面试题\&quot;,\&quot;职业发展\&quot;,\&quot;训练营\&quot;,\&quot;高薪测试成长图谱\&quot;,\&quot;airtest\&quot;,\&quot;atx\&quot;,\&quot;bat\&quot;,\&quot;java自动化测试\&quot;,\&quot;pageobject\&quot;,\&quot;profile\&quot;,\&quot;proxy\&quot;,\&quot;restassured\&quot;,\&quot;sonarqube\&quot;,\&quot;sql\&quot;,\&quot;webview\&quot;,\&quot;书单\&quot;,\&quot;云服务器配置\&quot;,\&quot;代码覆盖率\&quot;,\&quot;北京\&quot;,\&quot;原创技术文章\&quot;,\&quot;双11\&quot;,\&quot;名企定向\&quot;,\&quot;外包测试\&quot;,\&quot;大专学历\&quot;,\&quot;微信小程序自动化测试\&quot;,\&quot;性能分析\&quot;,\&quot;晋升指南\&quot;,\&quot;注意事项\&quot;,\&quot;测试人生\&quot;,\&quot;测试好书\&quot;,\&quot;测试学习\&quot;,\&quot;测试工程师\&quot;,\&quot;测试平台开发\&quot;,\&quot;测试开发培训\&quot;,\&quot;测试招聘\&quot;,\&quot;测试求职\&quot;,\&quot;测试课程\&quot;,\&quot;百度\&quot;,\&quot;金羽毛\&quot;,\&quot;阿里\&quot;,\&quot;霍格沃兹测试学院-mvp\&quot;,\&quot;高薪职位\&quot;],\&quot;topic_featured_link_allowed_category_ids\&quot;:[61,65,66,52,26,74,84,7,3,51,9,22,90,58,60,69,10,59,21,28,70,4,75,63,81,76,6,57,29,62,43,5,67,11,40,50,30,18,41,91,80,95,55,45,77,53,47,46,78,92,23,12,39,54,14,68,44,36,82,42,48,1,71,24,32,17,79,20,25,73,13,49,64,19,34,37,38,33,35,27,31,8,56,16,94,72],\&quot;user_themes\&quot;:[{\&quot;theme_id\&quot;:1,\&quot;name\&quot;:\&quot;Dark\&quot;,\&quot;default\&quot;:false,\&quot;color_scheme_id\&quot;:1},{\&quot;theme_id\&quot;:2,\&quot;name\&quot;:\&quot;Light\&quot;,\&quot;default\&quot;:false,\&quot;color_scheme_id\&quot;:null},{\&quot;theme_id\&quot;:3,\&quot;name\&quot;:\&quot;中型\&quot;,\&quot;default\&quot;:true,\&quot;color_scheme_id\&quot;:null}],\&quot;user_color_schemes\&quot;:[],\&quot;default_dark_color_scheme\&quot;:null,\&quot;censored_regexp\&quot;:null,\&quot;custom_emoji_translation\&quot;:{},\&quot;users_online\&quot;:{\&quot;users\&quot;:[{\&quot;id\&quot;:3012,\&quot;username\&quot;:\&quot;360088940\&quot;,\&quot;name\&quot;:\&quot;JJJJ\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/3/35a633/{size}.png\&quot;},{\&quot;id\&quot;:3511,\&quot;username\&quot;:\&quot;2937454200\&quot;,\&quot;name\&quot;:\&quot;王刚\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/2937454200/{size}/10770_2.png\&quot;},{\&quot;id\&quot;:3551,\&quot;username\&quot;:\&quot;517464074\&quot;,\&quot;name\&quot;:\&quot;曹达\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/5/bc8723/{size}.png\&quot;},{\&quot;id\&quot;:4218,\&quot;username\&quot;:\&quot;1152233756\&quot;,\&quot;name\&quot;:\&quot;星光灏然\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/1/65b543/{size}.png\&quot;},{\&quot;id\&quot;:3707,\&quot;username\&quot;:\&quot;kongming\&quot;,\&quot;name\&quot;:\&quot;kong ming\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/k/439d5e/{size}.png\&quot;},{\&quot;id\&quot;:4140,\&quot;username\&quot;:\&quot;xylona\&quot;,\&quot;name\&quot;:\&quot;xylona\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/x/ad7895/{size}.png\&quot;},{\&quot;id\&quot;:4242,\&quot;username\&quot;:\&quot;317050966\&quot;,\&quot;name\&quot;:\&quot;butou\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/3/77aa72/{size}.png\&quot;},{\&quot;id\&quot;:4234,\&quot;username\&quot;:\&quot;469750806\&quot;,\&quot;name\&quot;:\&quot;世界那么大\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/4/eada6e/{size}.png\&quot;},{\&quot;id\&quot;:3992,\&quot;username\&quot;:\&quot;tnew_tao\&quot;,\&quot;name\&quot;:\&quot;桃花妞妞\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/t/c6cbf5/{size}.png\&quot;}],\&quot;messagebus_id\&quot;:217655},\&quot;categories\&quot;:[{\&quot;id\&quot;:17,\&quot;name\&quot;:\&quot;开源项目\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;opensource\&quot;,\&quot;topic_count\&quot;:533,\&quot;post_count\&quot;:563,\&quot;position\&quot;:0,\&quot;description\&quot;:\&quot;开源项目交流与维护\&quot;,\&quot;description_text\&quot;:\&quot;开源项目交流与维护\&quot;,\&quot;description_excerpt\&quot;:\&quot;开源项目交流与维护\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/314\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:true,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:24,\&quot;name\&quot;:\&quot;leetcode刷题区\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;leetcode\&quot;,\&quot;topic_count\&quot;:8,\&quot;post_count\&quot;:15,\&quot;position\&quot;:1,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/835\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:23,\&quot;name\&quot;:\&quot;翻译区\&quot;,\&quot;color\&quot;:\&quot;ED207B\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;translate\&quot;,\&quot;topic_count\&quot;:4,\&quot;post_count\&quot;:10,\&quot;position\&quot;:2,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/764\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:71,\&quot;name\&quot;:\&quot;mtf\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;mtf\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:3,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7074\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:72,\&quot;name\&quot;:\&quot;appcrawler\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;appcrawler\&quot;,\&quot;topic_count\&quot;:5,\&quot;post_count\&quot;:14,\&quot;position\&quot;:4,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7075\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:73,\&quot;name\&quot;:\&quot;pytest\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;pytest\&quot;,\&quot;topic_count\&quot;:12,\&quot;post_count\&quot;:31,\&quot;position\&quot;:5,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7076\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:74,\&quot;name\&quot;:\&quot;allure\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;allure\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:6,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7077\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:75,\&quot;name\&quot;:\&quot;mitmproxy\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;mitmproxy\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:7,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7078\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:76,\&quot;name\&quot;:\&quot;appium\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;appium\&quot;,\&quot;topic_count\&quot;:9,\&quot;post_count\&quot;:28,\&quot;position\&quot;:8,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7079\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:77,\&quot;name\&quot;:\&quot;junit\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;junit\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:9,\&quot;description\&quot;:\&quot;junit5 testng交流群\&quot;,\&quot;description_text\&quot;:\&quot;junit5 testng交流群\&quot;,\&quot;description_excerpt\&quot;:\&quot;junit5 testng交流群\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/7080\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:78,\&quot;name\&quot;:\&quot;jacoco\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;jacoco\&quot;,\&quot;topic_count\&quot;:2,\&quot;post_count\&quot;:10,\&quot;position\&quot;:10,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7081\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:79,\&quot;name\&quot;:\&quot;jvm-sandbox\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;jvm-sandbox\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:11,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7082\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:80,\&quot;name\&quot;:\&quot;frida\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;frida\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:12,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7083\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:17,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:31,\&quot;name\&quot;:\&quot;职位内推\&quot;,\&quot;color\&quot;:\&quot;12A89D\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;job\&quot;,\&quot;topic_count\&quot;:234,\&quot;post_count\&quot;:242,\&quot;position\&quot;:13,\&quot;description\&quot;:\&quot;名企职位推荐，成功入职可获得奖学金。\&quot;,\&quot;description_text\&quot;:\&quot;名企职位推荐，成功入职可获得奖学金。\&quot;,\&quot;description_excerpt\&quot;:\&quot;名企职位推荐，成功入职可获得奖学金。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/2678\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;## 城市 - 公司名称 - 职位名称 \\n\\n\\n#### 岗位职责\\n\\n#### 岗位要求 \\n\\n## 薪资范围 \\n\\n## 工作地点及福利  \\n\\n## 投递方式\\n-  想内推该职位的同学，可以发送简历到hrbp@ceshiren.com， 备注自己的所在班级\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:53,\&quot;name\&quot;:\&quot;赏金bug\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;bug\&quot;,\&quot;topic_count\&quot;:7,\&quot;post_count\&quot;:11,\&quot;position\&quot;:14,\&quot;description\&quot;:\&quot;如果厂商确认bug，一枚bug可价值10~1000元不同。如果bug未确认但是内容属实，社区会先行打赏1~100元不等\&quot;,\&quot;description_text\&quot;:\&quot;如果厂商确认bug，一枚bug可价值10~1000元不同。如果bug未确认但是内容属实，社区会先行打赏1~100元不等\&quot;,\&quot;description_excerpt\&quot;:\&quot;如果厂商确认bug，一枚bug可价值10~1000元不同。如果bug未确认但是内容属实，社区会先行打赏1~100元不等\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4360\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:48,\&quot;name\&quot;:\&quot;用户端测试\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;ui\&quot;,\&quot;topic_count\&quot;:18,\&quot;post_count\&quot;:70,\&quot;position\&quot;:15,\&quot;description\&quot;:\&quot;web测试、app测试、专项测试、用户体验测试，以及对应的手工测试与自动化测试技术交流\&quot;,\&quot;description_text\&quot;:\&quot;web测试、app测试、专项测试、用户体验测试，以及对应的手工测试与自动化测试技术交流\&quot;,\&quot;description_excerpt\&quot;:\&quot;web测试、app测试、专项测试、用户体验测试，以及对应的手工测试与自动化测试技术交流\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4285\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:49,\&quot;name\&quot;:\&quot;服务端测试\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;service\&quot;,\&quot;topic_count\&quot;:12,\&quot;post_count\&quot;:42,\&quot;position\&quot;:16,\&quot;description\&quot;:\&quot;接口测试、服务端测试，微服务测试，以及相关的自动化测试\&quot;,\&quot;description_text\&quot;:\&quot;接口测试、服务端测试，微服务测试，以及相关的自动化测试\&quot;,\&quot;description_excerpt\&quot;:\&quot;接口测试、服务端测试，微服务测试，以及相关的自动化测试\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4286\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:50,\&quot;name\&quot;:\&quot;测试开发\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;sdet\&quot;,\&quot;topic_count\&quot;:21,\&quot;post_count\&quot;:61,\&quot;position\&quot;:17,\&quot;description\&quot;:\&quot;测试开发技术交流为主，测试开发工程师、SDET、SET等职位的讨论交流\&quot;,\&quot;description_text\&quot;:\&quot;测试开发技术交流为主，测试开发工程师、SDET、SET等职位的讨论交流\&quot;,\&quot;description_excerpt\&quot;:\&quot;测试开发技术交流为主，测试开发工程师、SDET、SET等职位的讨论交流\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4287\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:51,\&quot;name\&quot;:\&quot;新手区\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:45,\&quot;post_count\&quot;:188,\&quot;position\&quot;:18,\&quot;description\&quot;:\&quot;如果你对自己分享的内容没有自信，可以放到新手区。可以加上对应的技术标签\&quot;,\&quot;description_text\&quot;:\&quot;如果你对自己分享的内容没有自信，可以放到新手区。可以加上对应的技术标签\&quot;,\&quot;description_excerpt\&quot;:\&quot;如果你对自己分享的内容没有自信，可以放到新手区。可以加上对应的技术标签\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4358\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:\&quot;true\&quot;},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:52,\&quot;name\&quot;:\&quot;众测专区\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:19,\&quot;description\&quot;:\&quot;讨论兼职、众测、外包测试等需求与话题\&quot;,\&quot;description_text\&quot;:\&quot;讨论兼职、众测、外包测试等需求与话题\&quot;,\&quot;description_excerpt\&quot;:\&quot;讨论兼职、众测、外包测试等需求与话题\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4359\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:16,\&quot;name\&quot;:\&quot;霍格沃兹测试学院公众号\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;hogwarts\&quot;,\&quot;topic_count\&quot;:160,\&quot;post_count\&quot;:450,\&quot;position\&quot;:20,\&quot;description\&quot;:\&quot;霍格沃兹测试学院官方文章\&quot;,\&quot;description_text\&quot;:\&quot;霍格沃兹测试学院官方文章\&quot;,\&quot;description_excerpt\&quot;:\&quot;霍格沃兹测试学院官方文章\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/236\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:14,\&quot;name\&quot;:\&quot;霍格沃兹测试学院教务处\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;hogwartsoffice\&quot;,\&quot;topic_count\&quot;:16,\&quot;post_count\&quot;:22,\&quot;position\&quot;:21,\&quot;description\&quot;:\&quot;霍格沃兹测试学院官方政策公布\&quot;,\&quot;description_text\&quot;:\&quot;霍格沃兹测试学院官方政策公布\&quot;,\&quot;description_excerpt\&quot;:\&quot;霍格沃兹测试学院官方政策公布\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/227\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:22,\&quot;name\&quot;:\&quot;霍格沃兹答疑区\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:770,\&quot;post_count\&quot;:3294,\&quot;position\&quot;:22,\&quot;description\&quot;:\&quot;霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。\&quot;,\&quot;description_text\&quot;:\&quot;霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。\&quot;,\&quot;description_excerpt\&quot;:\&quot;霍格沃兹测试学院测试VIP学员答疑区，外部同学可浏览，不可发帖。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/597\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:true,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:\&quot;true\&quot;},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:8,\&quot;name\&quot;:\&quot;环境配置\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;confenv\&quot;,\&quot;topic_count\&quot;:99,\&quot;post_count\&quot;:373,\&quot;position\&quot;:23,\&quot;description\&quot;:\&quot;在环境的配置中，我们常常会踩到很多坑，尤其是对于测试开发来说，Appium ，STF，allure 等等各种开源工具会出现各种BUG，其中，可能是因为错误的操作，可能是因为环境的配置，也有可能是工具本身的bug。我们希望在这个分类中，将各种环境配置的问题汇总出来。\&quot;,\&quot;description_text\&quot;:\&quot;在环境的配置中，我们常常会踩到很多坑，尤其是对于测试开发来说，Appium ，STF，allure 等等各种开源工具会出现各种BUG，其中，可能是因为错误的操作，可能是因为环境的配置，也有可能是工具本身的bug。我们希望在这个分类中，将各种环境配置的问题汇总出来。\&quot;,\&quot;description_excerpt\&quot;:\&quot;在环境的配置中，我们常常会踩到很多坑，尤其是对于测试开发来说，Appium ，STF，allure 等等各种开源工具会出现各种BUG，其中，可能是因为错误的操作，可能是因为环境的配置，也有可能是工具本身的bug。我们希望在这个分类中，将各种环境配置的问题汇总出来。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/43\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:22,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:1,\&quot;name\&quot;:\&quot;未分类\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;uncategorized\&quot;,\&quot;topic_count\&quot;:145,\&quot;post_count\&quot;:379,\&quot;position\&quot;:29,\&quot;description\&quot;:\&quot;不需要分类或者不适合放在现有的任何分类中的主题。\&quot;,\&quot;description_text\&quot;:\&quot;不需要分类或者不适合放在现有的任何分类中的主题。\&quot;,\&quot;description_excerpt\&quot;:\&quot;不需要分类或者不适合放在现有的任何分类中的主题。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:4,\&quot;name\&quot;:\&quot;匿名讨论\&quot;,\&quot;color\&quot;:\&quot;231F20\&quot;,\&quot;text_color\&quot;:\&quot;652D90\&quot;,\&quot;slug\&quot;:\&quot;anonymous\&quot;,\&quot;topic_count\&quot;:1,\&quot;post_count\&quot;:5,\&quot;position\&quot;:37,\&quot;description\&quot;:\&quot;A category exclusive to members with trust level 3 and higher.\&quot;,\&quot;description_text\&quot;:\&quot;A category exclusive to members with trust level 3 and higher.\&quot;,\&quot;description_excerpt\&quot;:\&quot;A category exclusive to members with trust level 3 and higher.\&quot;,\&quot;topic_url\&quot;:\&quot;/t/about-the-lounge-category/3\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:30,\&quot;name\&quot;:\&quot;测试开发教材讨论区\&quot;,\&quot;color\&quot;:\&quot;0E76BD\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:2,\&quot;post_count\&quot;:18,\&quot;position\&quot;:41,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/2463\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:40,\&quot;name\&quot;:\&quot;兴趣爱好交流\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:1,\&quot;post_count\&quot;:1,\&quot;position\&quot;:48,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/2805\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:true,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:29,\&quot;name\&quot;:\&quot;读书圈\&quot;,\&quot;color\&quot;:\&quot;25AAE2\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;book\&quot;,\&quot;topic_count\&quot;:4,\&quot;post_count\&quot;:13,\&quot;position\&quot;:49,\&quot;description\&quot;:\&quot;学院一向倡导多读书多学习。\\u003cbr\\u003e\\n所以开设了此区，欢迎喜欢读书的朋友来分享、交流自己看过的经典书籍。\&quot;,\&quot;description_text\&quot;:\&quot;学院一向倡导多读书多学习。\\n所以开设了此区，欢迎喜欢读书的朋友来分享、交流自己看过的经典书籍。\&quot;,\&quot;description_excerpt\&quot;:\&quot;学院一向倡导多读书多学习。 \\n所以开设了此区，欢迎喜欢读书的朋友来分享、交流自己看过的经典书籍。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/2425\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:40,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:41,\&quot;name\&quot;:\&quot;美食交流圈\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:50,\&quot;description\&quot;:\&quot;点赞数最高帖作者将获得奖励\&quot;,\&quot;description_text\&quot;:\&quot;点赞数最高帖作者将获得奖励\&quot;,\&quot;description_excerpt\&quot;:\&quot;点赞数最高帖作者将获得奖励\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/2806\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:40,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:66,\&quot;name\&quot;:\&quot;电影圈\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;movie\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:51,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7069\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:40,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:67,\&quot;name\&quot;:\&quot;搞笑段子圈\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:52,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7070\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:40,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:46,\&quot;name\&quot;:\&quot;圣诞舞会\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;ball\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:53,\&quot;description\&quot;:\&quot;本分类是为了实现阿里内部的”相亲角“功能，方便学院里的学生联谊。在《哈利波特》小说里，圣诞舞会是三强争霸赛的传统项目，它会在每个争霸赛年的\\u003ca href=\\\&quot;https://harrypotter.fandom.com/zh/wiki/%E5%9C%A3%E8%AF%9E%E8%8A%82\\\&quot;\\u003e圣诞夜\\u003c/a\\u003e举办。霍格沃茨曾在\\u003ca href=\\\&quot;https://harrypotter.fandom.com/zh/wiki/1994%E5%B9%B4\\\&quot;\\u003e1994年\\u003c/a\\u003e举办了圣诞舞会，只有四年级以上的学生或或被高年级学生邀请的同学可以参加。\&quot;,\&quot;description_text\&quot;:\&quot;本分类是为了实现阿里内部的”相亲角“功能，方便学院里的学生联谊。在《哈利波特》小说里，圣诞舞会是三强争霸赛的传统项目，它会在每个争霸赛年的圣诞夜举办。霍格沃茨曾在1994年举办了圣诞舞会，只有四年级以上的学生或或被高年级学生邀请的同学可以参加。\&quot;,\&quot;description_excerpt\&quot;:\&quot;本分类是为了实现阿里内部的”相亲角“功能，方便学院里的学生联谊。在《哈利波特》小说里，圣诞舞会是三强争霸赛的传统项目，它会在每个争霸赛年的\\u003ca href=\\\&quot;https://harrypotter.fandom.com/zh/wiki/%E5%9C%A3%E8%AF%9E%E8%8A%82\\\&quot;\\u003e圣诞夜\\u003c/a\\u003e举办。霍格沃茨曾在\\u003ca href=\\\&quot;https://harrypotter.fandom.com/zh/wiki/1994%E5%B9%B4\\\&quot;\\u003e1994年\\u003c/a\\u003e举办了圣诞舞会，只有四年级以上的学生或或被高年级学生邀请的同学可以参加。\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4107\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:43,\&quot;name\&quot;:\&quot;测试课程\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;ke\&quot;,\&quot;topic_count\&quot;:6,\&quot;post_count\&quot;:8,\&quot;position\&quot;:54,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/3114\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:7,\&quot;name\&quot;:\&quot;Python测试开发班\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;sdet-python\&quot;,\&quot;topic_count\&quot;:51,\&quot;post_count\&quot;:172,\&quot;position\&quot;:55,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/15\&quot;,\&quot;read_restricted\&quot;:true,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:true,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:64,\&quot;name\&quot;:\&quot;霍格沃兹公开课\&quot;,\&quot;color\&quot;:\&quot;F7941D\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:18,\&quot;post_count\&quot;:19,\&quot;position\&quot;:71,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/6453\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:6,\&quot;name\&quot;:\&quot;霍格沃兹测试学院校内交流\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;hogwartsinner\&quot;,\&quot;topic_count\&quot;:117,\&quot;post_count\&quot;:289,\&quot;position\&quot;:72,\&quot;description\&quot;:\&quot;霍格沃兹测试学院所有学员的公共交流区，非学员仅可阅读\&quot;,\&quot;description_text\&quot;:\&quot;霍格沃兹测试学院所有学员的公共交流区，非学员仅可阅读\&quot;,\&quot;description_excerpt\&quot;:\&quot;霍格沃兹测试学院所有学员的公共交流区，非学员仅可阅读\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/14\&quot;,\&quot;read_restricted\&quot;:true,\&quot;permission\&quot;:1,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:54,\&quot;name\&quot;:\&quot;社区治理\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:5,\&quot;post_count\&quot;:5,\&quot;position\&quot;:77,\&quot;description\&quot;:\&quot;测试人社区是一家以测试行业群体为主的纯公益开源社区\&quot;,\&quot;description_text\&quot;:\&quot;测试人社区是一家以测试行业群体为主的纯公益开源社区\&quot;,\&quot;description_excerpt\&quot;:\&quot;测试人社区是一家以测试行业群体为主的纯公益开源社区\&quot;,\&quot;topic_url\&quot;:\&quot;/t/topic/4361\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:null,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:\&quot;\&quot;,\&quot;has_children\&quot;:true,\&quot;sort_order\&quot;:\&quot;\&quot;,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:\&quot;\&quot;,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:\&quot;\&quot;,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:68,\&quot;name\&quot;:\&quot;社区管理委员会\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:78,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7071\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:54,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:69,\&quot;name\&quot;:\&quot;社区贡献者\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:79,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7072\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:54,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:70,\&quot;name\&quot;:\&quot;社区项目公示\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:0,\&quot;post_count\&quot;:0,\&quot;position\&quot;:80,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/7073\&quot;,\&quot;read_restricted\&quot;:false,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:54,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null},{\&quot;id\&quot;:90,\&quot;name\&quot;:\&quot;Python测试开发-17期\&quot;,\&quot;color\&quot;:\&quot;0088CC\&quot;,\&quot;text_color\&quot;:\&quot;FFFFFF\&quot;,\&quot;slug\&quot;:\&quot;\&quot;,\&quot;topic_count\&quot;:14,\&quot;post_count\&quot;:133,\&quot;position\&quot;:86,\&quot;description\&quot;:null,\&quot;description_text\&quot;:null,\&quot;description_excerpt\&quot;:null,\&quot;topic_url\&quot;:\&quot;/t/topic/9201\&quot;,\&quot;read_restricted\&quot;:true,\&quot;permission\&quot;:1,\&quot;parent_category_id\&quot;:7,\&quot;notification_level\&quot;:1,\&quot;topic_template\&quot;:null,\&quot;has_children\&quot;:false,\&quot;sort_order\&quot;:null,\&quot;sort_ascending\&quot;:null,\&quot;show_subcategory_list\&quot;:false,\&quot;num_featured_topics\&quot;:3,\&quot;default_view\&quot;:null,\&quot;subcategory_list_style\&quot;:\&quot;rows_with_featured_topics\&quot;,\&quot;default_top_period\&quot;:\&quot;all\&quot;,\&quot;default_list_filter\&quot;:\&quot;all\&quot;,\&quot;minimum_required_tags\&quot;:0,\&quot;navigate_to_first_post_after_read\&quot;:false,\&quot;custom_fields\&quot;:{\&quot;enable_accepted_answers\&quot;:null},\&quot;allowed_tags\&quot;:[],\&quot;allowed_tag_groups\&quot;:[],\&quot;allow_global_tags\&quot;:false,\&quot;min_tags_from_required_group\&quot;:1,\&quot;required_tag_group_name\&quot;:null,\&quot;read_only_banner\&quot;:null,\&quot;uploaded_logo\&quot;:null,\&quot;uploaded_background\&quot;:null}],\&quot;trust_levels\&quot;:[{\&quot;id\&quot;:0,\&quot;name\&quot;:\&quot;新用户\&quot;},{\&quot;id\&quot;:1,\&quot;name\&quot;:\&quot;初级用户\&quot;},{\&quot;id\&quot;:2,\&quot;name\&quot;:\&quot;成员\&quot;},{\&quot;id\&quot;:3,\&quot;name\&quot;:\&quot;活跃用户\&quot;},{\&quot;id\&quot;:4,\&quot;name\&quot;:\&quot;资深\&quot;}],\&quot;archetypes\&quot;:[{\&quot;id\&quot;:\&quot;regular\&quot;,\&quot;name\&quot;:\&quot;常规主题\&quot;,\&quot;options\&quot;:[]},{\&quot;id\&quot;:\&quot;banner\&quot;,\&quot;name\&quot;:\&quot;横幅主题\&quot;,\&quot;options\&quot;:[]}],\&quot;user_fields\&quot;:[{\&quot;id\&quot;:1,\&quot;name\&quot;:\&quot;赞赏码\&quot;,\&quot;description\&quot;:\&quot;可选，微信赞赏码图片链接，论坛会定期向原创精华帖作者打赏\&quot;,\&quot;field_type\&quot;:\&quot;text\&quot;,\&quot;editable\&quot;:true,\&quot;required\&quot;:false,\&quot;show_on_profile\&quot;:true,\&quot;show_on_user_card\&quot;:true,\&quot;position\&quot;:1}],\&quot;auth_providers\&quot;:[]}&quot;,&quot;siteSettings&quot;:&quot;{\&quot;default_locale\&quot;:\&quot;zh_CN\&quot;,\&quot;title\&quot;:\&quot;测试人社区\&quot;,\&quot;short_site_description\&quot;:\&quot;软件测试开发爱好者的交流社区，主要做：软件测试、软件测试入门、自动化测试、 性能测试、测试开发、接口测试、测试开发培训 、自动化测试培训、  python自动化测试、java自动化测试、测试教程、全栈测试、测试面试题、appium 、selenium 、jmeter、jenkins、 loadrunner、测试平台、 开源测试\&quot;,\&quot;contact_email\&quot;:\&quot;seveniruby@gmail.com\&quot;,\&quot;contact_url\&quot;:\&quot;ceshiren.com\&quot;,\&quot;logo\&quot;:\&quot;\&quot;,\&quot;logo_small\&quot;:\&quot;/uploads/default/original/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a.png\&quot;,\&quot;digest_logo\&quot;:\&quot;\&quot;,\&quot;mobile_logo\&quot;:\&quot;\&quot;,\&quot;logo_dark\&quot;:\&quot;\&quot;,\&quot;logo_small_dark\&quot;:\&quot;\&quot;,\&quot;mobile_logo_dark\&quot;:\&quot;\&quot;,\&quot;large_icon\&quot;:\&quot;\&quot;,\&quot;favicon\&quot;:\&quot;\&quot;,\&quot;apple_touch_icon\&quot;:\&quot;\&quot;,\&quot;display_local_time_in_user_card\&quot;:false,\&quot;allow_user_locale\&quot;:true,\&quot;support_mixed_text_direction\&quot;:false,\&quot;suggested_topics\&quot;:5,\&quot;ga_universal_tracking_code\&quot;:\&quot;UA-149601593-1\&quot;,\&quot;ga_universal_domain_name\&quot;:\&quot;auto\&quot;,\&quot;gtm_container_id\&quot;:\&quot;\&quot;,\&quot;top_menu\&quot;:\&quot;latest|top|new\&quot;,\&quot;post_menu\&quot;:\&quot;read|like|share|edit|bookmark|delete|reply\&quot;,\&quot;post_menu_hidden_items\&quot;:\&quot;flag|bookmark|edit|delete|admin\&quot;,\&quot;share_links\&quot;:\&quot;\&quot;,\&quot;share_quote_visibility\&quot;:\&quot;anonymous\&quot;,\&quot;share_quote_buttons\&quot;:\&quot;\&quot;,\&quot;desktop_category_page_style\&quot;:\&quot;categories_and_latest_topics\&quot;,\&quot;category_colors\&quot;:\&quot;BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|E45735\&quot;,\&quot;category_style\&quot;:\&quot;bullet\&quot;,\&quot;max_category_nesting\&quot;:2,\&quot;enable_mobile_theme\&quot;:true,\&quot;default_dark_mode_color_scheme_id\&quot;:-1,\&quot;relative_date_duration\&quot;:30,\&quot;fixed_category_positions\&quot;:true,\&quot;fixed_category_positions_on_create\&quot;:true,\&quot;enable_badges\&quot;:true,\&quot;enable_badge_sql\&quot;:false,\&quot;enable_whispers\&quot;:true,\&quot;enable_bookmarks_with_reminders\&quot;:true,\&quot;push_notifications_prompt\&quot;:true,\&quot;vapid_public_key_bytes\&quot;:\&quot;4|236|176|188|86|223|217|160|35|187|9|60|98|87|19|60|78|190|126|241|100|23|187|66|247|236|19|206|198|117|86|132|45|18|8|86|119|241|17|214|104|99|168|71|94|136|99|59|103|104|168|243|135|117|23|36|84|3|17|176|166|111|51|110|65\&quot;,\&quot;invite_only\&quot;:false,\&quot;login_required\&quot;:false,\&quot;must_approve_users\&quot;:false,\&quot;enable_local_logins\&quot;:true,\&quot;enable_local_logins_via_email\&quot;:true,\&quot;allow_new_registrations\&quot;:true,\&quot;enable_signup_cta\&quot;:true,\&quot;facebook_app_id\&quot;:\&quot;\&quot;,\&quot;external_auth_skip_create_confirm\&quot;:false,\&quot;enable_sso\&quot;:false,\&quot;sso_overrides_email\&quot;:false,\&quot;sso_overrides_avatar\&quot;:false,\&quot;min_username_length\&quot;:3,\&quot;max_username_length\&quot;:20,\&quot;unicode_usernames\&quot;:false,\&quot;min_password_length\&quot;:8,\&quot;min_admin_password_length\&quot;:8,\&quot;logout_redirect\&quot;:\&quot;\&quot;,\&quot;full_name_required\&quot;:false,\&quot;enable_names\&quot;:true,\&quot;invites_per_page\&quot;:40,\&quot;delete_user_max_post_age\&quot;:60,\&quot;delete_all_posts_max\&quot;:15,\&quot;prioritize_username_in_ux\&quot;:true,\&quot;enable_user_directory\&quot;:true,\&quot;allow_anonymous_posting\&quot;:true,\&quot;anonymous_posting_min_trust_level\&quot;:1,\&quot;allow_users_to_hide_profile\&quot;:true,\&quot;hide_user_profiles_from_public\&quot;:false,\&quot;allow_featured_topic_on_user_profiles\&quot;:true,\&quot;hide_suspension_reasons\&quot;:false,\&quot;ignored_users_count_message_threshold\&quot;:5,\&quot;ignored_users_message_gap_days\&quot;:365,\&quot;user_selected_primary_groups\&quot;:true,\&quot;gravatar_name\&quot;:\&quot;Gravatar\&quot;,\&quot;gravatar_base_url\&quot;:\&quot;www.gravatar.com\&quot;,\&quot;gravatar_login_url\&quot;:\&quot;/emails\&quot;,\&quot;enable_group_directory\&quot;:true,\&quot;enable_category_group_moderation\&quot;:false,\&quot;min_post_length\&quot;:2,\&quot;min_first_post_length\&quot;:8,\&quot;min_personal_message_post_length\&quot;:3,\&quot;max_post_length\&quot;:80000,\&quot;topic_featured_link_enabled\&quot;:true,\&quot;min_topic_views_for_delete_confirm\&quot;:5000,\&quot;min_topic_title_length\&quot;:6,\&quot;max_topic_title_length\&quot;:255,\&quot;min_personal_message_title_length\&quot;:2,\&quot;allow_uncategorized_topics\&quot;:false,\&quot;min_title_similar_length\&quot;:4,\&quot;enable_personal_messages\&quot;:true,\&quot;enable_personal_email_messages\&quot;:false,\&quot;edit_history_visible_to_public\&quot;:true,\&quot;delete_removed_posts_after\&quot;:24,\&quot;traditional_markdown_linebreaks\&quot;:false,\&quot;enable_markdown_typographer\&quot;:true,\&quot;enable_markdown_linkify\&quot;:true,\&quot;markdown_linkify_tlds\&quot;:\&quot;com|net|org|io|co|tv|ru|cn|us|uk|me|de|fr|fi|gov\&quot;,\&quot;markdown_typographer_quotation_marks\&quot;:\&quot;“|”|‘|’\&quot;,\&quot;enable_rich_text_paste\&quot;:true,\&quot;suppress_reply_directly_below\&quot;:true,\&quot;suppress_reply_directly_above\&quot;:true,\&quot;max_reply_history\&quot;:1,\&quot;enable_mentions\&quot;:true,\&quot;newuser_max_embedded_media\&quot;:1,\&quot;newuser_max_attachments\&quot;:0,\&quot;show_pinned_excerpt_mobile\&quot;:true,\&quot;show_pinned_excerpt_desktop\&quot;:true,\&quot;display_name_on_posts\&quot;:true,\&quot;show_time_gap_days\&quot;:7,\&quot;short_progress_text_threshold\&quot;:10000,\&quot;default_code_lang\&quot;:\&quot;auto\&quot;,\&quot;autohighlight_all_code\&quot;:false,\&quot;highlighted_languages\&quot;:\&quot;apache|bash|cs|cpp|css|coffeescript|diff|xml|http|ini|json|java|javascript|makefile|markdown|nginx|objectivec|ruby|perl|php|python|sql|handlebars\&quot;,\&quot;show_copy_button_on_codeblocks\&quot;:false,\&quot;enable_emoji\&quot;:true,\&quot;enable_emoji_shortcuts\&quot;:true,\&quot;emoji_set\&quot;:\&quot;apple\&quot;,\&quot;emoji_autocomplete_min_chars\&quot;:0,\&quot;enable_inline_emoji_translation\&quot;:true,\&quot;code_formatting_style\&quot;:\&quot;4-spaces-indent\&quot;,\&quot;allowed_href_schemes\&quot;:\&quot;\&quot;,\&quot;watched_words_regular_expressions\&quot;:false,\&quot;enable_advanced_editor_preview_sync\&quot;:false,\&quot;old_post_notice_days\&quot;:14,\&quot;blur_tl0_flagged_posts_media\&quot;:true,\&quot;email_time_window_mins\&quot;:10,\&quot;disable_digest_emails\&quot;:true,\&quot;email_in\&quot;:false,\&quot;enable_imap\&quot;:false,\&quot;enable_smtp\&quot;:false,\&quot;disable_emails\&quot;:\&quot;no\&quot;,\&quot;bounce_score_threshold\&quot;:4,\&quot;enable_secondary_emails\&quot;:true,\&quot;max_image_size_kb\&quot;:4096,\&quot;max_attachment_size_kb\&quot;:40960,\&quot;authorized_extensions\&quot;:\&quot;jpg|jpeg|png|gif|log|txt|xlsx|doc|docx|ppt|pptx|keynote|pdf|mp4\&quot;,\&quot;authorized_extensions_for_staff\&quot;:\&quot;\&quot;,\&quot;max_image_width\&quot;:800,\&quot;max_image_height\&quot;:10000,\&quot;prevent_anons_from_downloading_files\&quot;:false,\&quot;secure_media\&quot;:false,\&quot;enable_s3_uploads\&quot;:false,\&quot;allow_profile_backgrounds\&quot;:true,\&quot;allow_uploaded_avatars\&quot;:true,\&quot;default_avatars\&quot;:\&quot;\&quot;,\&quot;external_system_avatars_enabled\&quot;:true,\&quot;external_system_avatars_url\&quot;:\&quot;/letter_avatar_proxy/v4/letter/{first_letter}/{color}/{size}.png\&quot;,\&quot;selectable_avatars_enabled\&quot;:false,\&quot;selectable_avatars\&quot;:\&quot;\&quot;,\&quot;allow_staff_to_upload_any_file_in_pm\&quot;:true,\&quot;simultaneous_uploads\&quot;:5,\&quot;min_trust_level_to_allow_profile_background\&quot;:0,\&quot;min_trust_level_to_allow_user_card_background\&quot;:0,\&quot;min_trust_level_to_allow_ignore\&quot;:2,\&quot;tl1_requires_read_posts\&quot;:30,\&quot;tl3_links_no_follow\&quot;:false,\&quot;enforce_second_factor\&quot;:\&quot;no\&quot;,\&quot;moderators_view_emails\&quot;:false,\&quot;use_admin_ip_allowlist\&quot;:false,\&quot;allowed_iframes\&quot;:\&quot;https://www.google.com/maps/embed?|https://www.openstreetmap.org/export/embed.html?|https://calendar.google.com/calendar/embed?|https://codepen.io/|https://testing-studio.com|ceshiren.com|https://ceshiren.com|https://pdf.ceshiren.com\&quot;,\&quot;max_oneboxes_per_post\&quot;:50,\&quot;reviewable_claiming\&quot;:\&quot;disabled\&quot;,\&quot;reviewable_default_topics\&quot;:false,\&quot;reviewable_default_visibility\&quot;:\&quot;low\&quot;,\&quot;alert_admins_if_errors_per_minute\&quot;:0,\&quot;alert_admins_if_errors_per_hour\&quot;:0,\&quot;max_prints_per_hour_per_user\&quot;:5,\&quot;invite_link_max_redemptions_limit\&quot;:5000,\&quot;enable_long_polling\&quot;:true,\&quot;enable_chunked_encoding\&quot;:true,\&quot;long_polling_base_url\&quot;:\&quot;/\&quot;,\&quot;background_polling_interval\&quot;:60000,\&quot;polling_interval\&quot;:3000,\&quot;anon_polling_interval\&quot;:30000,\&quot;flush_timings_secs\&quot;:60,\&quot;verbose_localization\&quot;:false,\&quot;max_new_topics\&quot;:500,\&quot;enable_safe_mode\&quot;:true,\&quot;tos_url\&quot;:\&quot;\&quot;,\&quot;privacy_policy_url\&quot;:\&quot;\&quot;,\&quot;faq_url\&quot;:\&quot;\&quot;,\&quot;enable_backups\&quot;:true,\&quot;backup_location\&quot;:\&quot;local\&quot;,\&quot;maximum_backups\&quot;:50,\&quot;use_pg_headlines_for_excerpt\&quot;:false,\&quot;min_search_term_length\&quot;:2,\&quot;log_search_queries\&quot;:true,\&quot;version_checks\&quot;:true,\&quot;suppress_uncategorized_badge\&quot;:true,\&quot;header_dropdown_category_count\&quot;:8,\&quot;slug_generation_method\&quot;:\&quot;none\&quot;,\&quot;topic_views_heat_low\&quot;:1000,\&quot;topic_views_heat_medium\&quot;:2000,\&quot;topic_views_heat_high\&quot;:3500,\&quot;topic_post_like_heat_low\&quot;:0.5,\&quot;topic_post_like_heat_medium\&quot;:1.0,\&quot;topic_post_like_heat_high\&quot;:2.0,\&quot;history_hours_low\&quot;:12,\&quot;history_hours_medium\&quot;:24,\&quot;history_hours_high\&quot;:48,\&quot;cold_age_days_low\&quot;:14,\&quot;cold_age_days_medium\&quot;:90,\&quot;cold_age_days_high\&quot;:180,\&quot;global_notice\&quot;:\&quot;\&quot;,\&quot;show_create_topics_notice\&quot;:true,\&quot;bootstrap_mode_min_users\&quot;:50,\&quot;bootstrap_mode_enabled\&quot;:false,\&quot;automatically_unpin_topics\&quot;:false,\&quot;read_time_word_count\&quot;:350,\&quot;topic_page_title_includes_category\&quot;:true,\&quot;svg_icon_subset\&quot;:\&quot;far-check-circle\&quot;,\&quot;disable_mailing_list_mode\&quot;:false,\&quot;default_topics_automatic_unpin\&quot;:false,\&quot;mute_all_categories_by_default\&quot;:false,\&quot;tagging_enabled\&quot;:true,\&quot;tag_style\&quot;:\&quot;box\&quot;,\&quot;max_tags_per_topic\&quot;:5,\&quot;max_tag_length\&quot;:20,\&quot;min_trust_level_to_tag_topics\&quot;:\&quot;0\&quot;,\&quot;max_tag_search_results\&quot;:5,\&quot;show_filter_by_tag\&quot;:true,\&quot;max_tags_in_filter_list\&quot;:100,\&quot;tags_sort_alphabetically\&quot;:false,\&quot;tags_listed_by_group\&quot;:false,\&quot;suppress_overlapping_tags_in_list\&quot;:false,\&quot;remove_muted_tags_from_latest\&quot;:\&quot;always\&quot;,\&quot;force_lowercase_tags\&quot;:true,\&quot;dashboard_hidden_reports\&quot;:\&quot;\&quot;,\&quot;dashboard_visible_tabs\&quot;:\&quot;moderation|security|reports\&quot;,\&quot;dashboard_general_tab_activity_metrics\&quot;:\&quot;page_view_total_reqs|visits|time_to_first_response|likes|flags|user_to_user_private_messages_with_replies\&quot;,\&quot;presence_enabled\&quot;:true,\&quot;presence_max_users_shown\&quot;:5,\&quot;discourse_narrative_bot_enabled\&quot;:true,\&quot;details_enabled\&quot;:true,\&quot;poll_enabled\&quot;:true,\&quot;poll_maximum_options\&quot;:20,\&quot;poll_minimum_trust_level_to_create\&quot;:1,\&quot;poll_groupable_user_fields\&quot;:\&quot;\&quot;,\&quot;poll_export_data_explorer_query_id\&quot;:-16,\&quot;discourse_local_dates_email_format\&quot;:\&quot;YYYY-MM-DDTHH:mm:ss[Z]\&quot;,\&quot;discourse_local_dates_enabled\&quot;:true,\&quot;discourse_local_dates_default_formats\&quot;:\&quot;LLL|LTS|LL|LLLL\&quot;,\&quot;discourse_local_dates_default_timezones\&quot;:\&quot;Asia/Shanghai\&quot;,\&quot;whos_online_enabled\&quot;:true,\&quot;whos_online_active_timeago\&quot;:5,\&quot;whos_online_collapse_threshold\&quot;:10,\&quot;whos_online_maximum_display\&quot;:50,\&quot;whos_online_minimum_display\&quot;:1,\&quot;whos_online_hide_below_minimum_display\&quot;:false,\&quot;whos_online_display_public\&quot;:true,\&quot;whos_online_display_min_trust_level\&quot;:0,\&quot;whos_online_avatar_indicator\&quot;:\&quot;ring\&quot;,\&quot;whos_online_avatar_indicator_topic_lists\&quot;:false,\&quot;checklist_enabled\&quot;:true,\&quot;translator_enabled\&quot;:false,\&quot;translator\&quot;:\&quot;Microsoft\&quot;,\&quot;translator_azure_region\&quot;:\&quot;global\&quot;,\&quot;enable_markdown_footnotes\&quot;:true,\&quot;display_footnotes_inline\&quot;:true,\&quot;solved_enabled\&quot;:true,\&quot;allow_solved_on_all_topics\&quot;:true,\&quot;accept_all_solutions_trust_level\&quot;:4,\&quot;empty_box_on_unsolved\&quot;:false,\&quot;show_filter_by_solved_status\&quot;:false,\&quot;canned_replies_enabled\&quot;:true,\&quot;canned_replies_everyone_enabled\&quot;:false,\&quot;canned_replies_everyone_can_edit\&quot;:false,\&quot;cakeday_enabled\&quot;:true,\&quot;cakeday_emoji\&quot;:\&quot;cake\&quot;,\&quot;cakeday_birthday_enabled\&quot;:true,\&quot;cakeday_birthday_emoji\&quot;:\&quot;birthday\&quot;,\&quot;available_locales\&quot;:\&quot;[{\\\&quot;name\\\&quot;:\\\&quot;اللغة العربية\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ar\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;беларуская мова\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;be\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;български език\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;bg\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;bosanski jezik\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;bs_BA\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;català\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ca\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;čeština\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;cs\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;dansk\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;da\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Deutsch\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;de\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;ελληνικά\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;el\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;English\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;en\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;English (United States)\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;en_US\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Español\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;es\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;eesti\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;et\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;فارسی\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;fa_IR\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;suomi\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;fi\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Français\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;fr\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;galego\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;gl\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;עברית\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;he\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;magyar\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;hu\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Հայերեն\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;hy\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Indonesian\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;id\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Italiano\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;it\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;日本語\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ja\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;한국어\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ko\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;lietuvių kalba\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;lt\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;latviešu valoda\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;lv\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Norsk bokmål\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;nb_NO\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Nederlands\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;nl\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;język polski\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;pl_PL\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Português\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;pt\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Português (BR)\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;pt_BR\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;limba română\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ro\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Русский\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ru\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;slovenčina\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sk\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;slovenščina\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sl\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Shqip\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sq\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;српски језик\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sr\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;svenska\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sv\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Kiswahili\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;sw\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;తెలుగు\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;te\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;ไทย\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;th\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Türkçe\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;tr_TR\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;українська мова\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;uk\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;اردو\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;ur\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;Việt Nam\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;vi\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;中文\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;zh_CN\\\&quot;},{\\\&quot;name\\\&quot;:\\\&quot;中文 (TW)\\\&quot;,\\\&quot;value\\\&quot;:\\\&quot;zh_TW\\\&quot;}]\&quot;,\&quot;require_invite_code\&quot;:false,\&quot;site_logo_url\&quot;:\&quot;\&quot;,\&quot;site_logo_small_url\&quot;:\&quot;https://ceshiren.com/uploads/default/original/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a.png\&quot;,\&quot;site_mobile_logo_url\&quot;:\&quot;\&quot;,\&quot;site_favicon_url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a_2_32x32.png\&quot;,\&quot;site_logo_dark_url\&quot;:\&quot;\&quot;,\&quot;site_logo_small_dark_url\&quot;:\&quot;\&quot;,\&quot;site_mobile_logo_dark_url\&quot;:\&quot;\&quot;}&quot;,&quot;customHTML&quot;:&quot;{\&quot;top\&quot;:\&quot;\u003cdiv class=\\\&quot;slide\\\&quot;\u003e\\n    \u003cul class=\\\&quot;slide-auto\\\&quot;\u003e\\n        \u003cli\u003e\u003ca href=\\\&quot;https://ceshiren.com/t/topic/7\\\&quot; target=\\\&quot;_blank\\\&quot;\u003e\\n                \u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/3/329806ee82fc410c920a2748018b090be4074c80.jpeg\\\&quot;\u003e\\n            \u003c\\/a\u003e\\n        \u003c\\/li\u003e\\n        \u003cli\u003e\u003ca href=\\\&quot;https://ceshiren.com/t/topic/7229\\\&quot; target=\\\&quot;_blank\\\&quot;\u003e\\n                \u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/c/c86874aad0434ab5148d840a48ff47f8a46a32e5.jpeg\\\&quot;\u003e\\n            \u003c\\/a\u003e\u003c\\/li\u003e\\n        \u003cli\u003e\u003ca href=\\\&quot;https://ceshiren.com/t/topic/8411\\\&quot; target=\\\&quot;_blank\\\&quot;\u003e\\n                \u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/4/49b6a6dca30012f85da85ce36315cbbb3bf81607.jpeg\\\&quot;\u003e\\n            \u003c\\/a\u003e\u003c\\/li\u003e\\n    \u003c\\/ul\u003e\\n\u003c\\/div\u003e\&quot;,\&quot;footer\&quot;:\&quot;\&quot;}&quot;,&quot;banner&quot;:&quot;{}&quot;,&quot;customEmoji&quot;:&quot;[]&quot;,&quot;isReadOnly&quot;:&quot;false&quot;,&quot;currentUser&quot;:&quot;{\&quot;id\&quot;:4218,\&quot;username\&quot;:\&quot;1152233756\&quot;,\&quot;name\&quot;:\&quot;星光灏然\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/1/65b543/{size}.png\&quot;,\&quot;unread_notifications\&quot;:0,\&quot;unread_private_messages\&quot;:0,\&quot;unread_high_priority_notifications\&quot;:0,\&quot;read_first_notification\&quot;:true,\&quot;admin\&quot;:false,\&quot;notification_channel_position\&quot;:7,\&quot;moderator\&quot;:false,\&quot;staff\&quot;:false,\&quot;title\&quot;:null,\&quot;any_posts\&quot;:false,\&quot;enable_quoting\&quot;:true,\&quot;enable_defer\&quot;:false,\&quot;external_links_in_new_tab\&quot;:true,\&quot;dynamic_favicon\&quot;:false,\&quot;trust_level\&quot;:1,\&quot;can_send_private_email_messages\&quot;:false,\&quot;can_edit\&quot;:true,\&quot;can_delete_account\&quot;:true,\&quot;should_be_redirected_to_top\&quot;:false,\&quot;custom_fields\&quot;:{},\&quot;muted_category_ids\&quot;:[],\&quot;muted_tag_ids\&quot;:[],\&quot;dismissed_banner_key\&quot;:null,\&quot;is_anonymous\&quot;:false,\&quot;reviewable_count\&quot;:0,\&quot;read_faq\&quot;:false,\&quot;automatically_unpin_topics\&quot;:false,\&quot;mailing_list_mode\&quot;:false,\&quot;previous_visit_at\&quot;:\&quot;2021-02-18T00:59:52.437Z\&quot;,\&quot;seen_notification_id\&quot;:47825,\&quot;can_create_topic\&quot;:true,\&quot;link_posting_access\&quot;:\&quot;full\&quot;,\&quot;top_category_ids\&quot;:[],\&quot;hide_profile_and_presence\&quot;:false,\&quot;groups\&quot;:[{\&quot;id\&quot;:79,\&quot;name\&quot;:\&quot;python_17\&quot;},{\&quot;id\&quot;:10,\&quot;name\&quot;:\&quot;trust_level_0\&quot;},{\&quot;id\&quot;:11,\&quot;name\&quot;:\&quot;trust_level_1\&quot;}],\&quot;second_factor_enabled\&quot;:false,\&quot;ignored_users\&quot;:[],\&quot;title_count_mode\&quot;:\&quot;notifications\&quot;,\&quot;timezone\&quot;:\&quot;America/Chicago\&quot;,\&quot;featured_topic\&quot;:null,\&quot;skip_new_user_tips\&quot;:true,\&quot;can_use_canned_replies\&quot;:false,\&quot;can_edit_canned_replies\&quot;:false}&quot;,&quot;topicTrackingStates&quot;:&quot;[{\&quot;topic_id\&quot;:10130,\&quot;highest_post_number\&quot;:8,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-19T14:22:06.589Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10132,\&quot;highest_post_number\&quot;:3,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-19T15:20:22.501Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10148,\&quot;highest_post_number\&quot;:2,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T11:49:49.921Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10160,\&quot;highest_post_number\&quot;:1,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-21T12:21:36.019Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10144,\&quot;highest_post_number\&quot;:2,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T09:32:38.104Z\&quot;,\&quot;category_id\&quot;:6,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10149,\&quot;highest_post_number\&quot;:22,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T12:26:38.813Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10153,\&quot;highest_post_number\&quot;:2,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T15:34:18.473Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10156,\&quot;highest_post_number\&quot;:10,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-21T02:50:26.967Z\&quot;,\&quot;category_id\&quot;:22,\&quot;notification_level\&quot;:null},{\&quot;topic_id\&quot;:10140,\&quot;highest_post_number\&quot;:1,\&quot;last_read_post_number\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T07:50:21.422Z\&quot;,\&quot;category_id\&quot;:31,\&quot;notification_level\&quot;:null}]&quot;,&quot;topic_5528&quot;:&quot;{\&quot;post_stream\&quot;:{\&quot;posts\&quot;:[{\&quot;id\&quot;:13942,\&quot;name\&quot;:\&quot;瓶子\&quot;,\&quot;username\&quot;:\&quot;mayunlong\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/mayunlong/{size}/9557_2.png\&quot;,\&quot;created_at\&quot;:\&quot;2020-08-18T06:03:56.926Z\&quot;,\&quot;cooked\&quot;:\&quot;\\u003cp\\u003e\\u003cstrong\\u003e注：本贴为录播课件内容补充贴，缺少的内容可以在回复区里进行反馈\\u003c/strong\\u003e\\u003c/p\\u003e\\n\\u003ch2\\u003e1、Linux系统与shell环境准备\\u003c/h2\\u003e\\n\\u003cp\\u003els:  列出目录\\u003cbr\\u003e\\ncd：切换目录\\u003cbr\\u003e\\npwd：显示目前的目录\\u003cbr\\u003e\\nmkdir：创建一个新的目录\\u003cbr\\u003e\\nrmdir：删除一个空的目录\\u003cbr\\u003e\\ncp: 复制文件或目录\\u003cbr\\u003e\\nrm: 移除文件或目录\\u003cbr\\u003e\\nmv: 移动文件与目录，或修改文件与目录的名称\\u003c/p\\u003e\\n\\u003ch3\\u003eShell基础\\u003c/h3\\u003e\\n\\u003cp\\u003e常见的shell\\u003c/p\\u003e\\n\\u003cp\\u003eBourne Shell（/usr/bin/sh或/bin/sh）\\u003cbr\\u003e\\nBourne Again Shell（/bin/bash）\\u003cbr\\u003e\\nC Shell（/usr/bin/csh）\\u003cbr\\u003e\\nK Shell（/usr/bin/ksh）\\u003cbr\\u003e\\nShell for Root（/sbin/sh\\u003c/p\\u003e\\n\\u003ch4\\u003e运行shell\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003echmod +x ./test.sh  \\u003cspan class=\\\&quot;hashtag\\\&quot;\\u003e#使脚本具有执行权限\\u003c/span\\u003e\\u003cbr\\u003e\\n./test.sh  \\u003cspan class=\\\&quot;hashtag\\\&quot;\\u003e#执行脚本\\u003c/span\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003e/bin/sh test.sh\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003eLinux常用命令\\u003c/h2\\u003e\\n\\u003ch3\\u003e文件\\u003c/h3\\u003e\\n\\u003cp\\u003els:  列出目录\\u003cbr\\u003e\\ncd：切换目录\\u003cbr\\u003e\\npwd：显示目前的目录\\u003cbr\\u003e\\nmkdir：创建一个新的目录\\u003cbr\\u003e\\nrmdir：删除一个空的目录\\u003cbr\\u003e\\ncp: 复制文件或目录\\u003cbr\\u003e\\nrm: 移除文件或目录\\u003cbr\\u003e\\nmv: 移动文件与目录，或修改文件与目录的名称\\u003c/p\\u003e\\n\\u003ch4\\u003e文件权限\\u003c/h4\\u003e\\n\\u003cp\\u003er 读权限read  4\\u003cbr\\u003e\\nw 写权限write 2\\u003cbr\\u003e\\nx 操作权限execute  1\\u003cbr\\u003e\\nchmod 777 test，修改test文件属性\\u003c/p\\u003e\\n\\u003ch3\\u003e网络\\u003c/h3\\u003e\\n\\u003cp\\u003enetstat：打印Linux网络系统的状态信息\\u003cbr\\u003e\\n-t 列出所有tcp\\u003cbr\\u003e\\n-u 列出所有udp\\u003cbr\\u003e\\n-l 只显示监听端口\\u003cbr\\u003e\\n-n 以数字形式显示地址和端口号\\u003cbr\\u003e\\n-p 显示进程的pid和名字\\u003c/p\\u003e\\n\\u003ch3\\u003e性能\\u003c/h3\\u003e\\n\\u003cp\\u003etop：持续监视系统性能\\u003cbr\\u003e\\nps：查看进程信息\\u003cbr\\u003e\\n-aux 显示所有进程，包括用户，分组情况\\u003c/p\\u003e\\n\\u003ch2\\u003e3、Linux三剑客与管道使用\\u003c/h2\\u003e\\n\\u003ch3\\u003e管道\\u003c/h3\\u003e\\n\\u003cp\\u003eLinux提供管道符“|”将两个命令隔开，管道符左边命令的输出就会作为管道符右边命令的输入\\u003c/p\\u003e\\n\\u003ch3\\u003e正则\\u003c/h3\\u003e\\n\\u003cp\\u003e正则表达式就是记录文本规则的代码\\u003c/p\\u003e\\n\\u003ch4\\u003e演练环境\\u003c/h4\\u003e\\n\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://tool.oschina.net/img/favicon.ico\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://tool.oschina.net/regex\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003etool.oschina.net\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://tool.oschina.net/regex\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003e在线正则表达式测试\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\n\\u003ch4\\u003e举例\\u003c/h4\\u003e\\n\\u003cp\\u003e找出所有的hi单词 \\\\bhi\\\\b\\u003cbr\\u003e\\nhi单词后面有lucy单词 \\\\bhi\\\\b.*\\\\blucy\\\\b\\u003cbr\\u003e\\n以0开头，然后是两个数字，然后是一个连字号“-”，最后是8个数字 0\\\\d{2}-\\\\d{8}\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cdiv class=\\\&quot;lightbox-wrapper\\\&quot;\\u003e\\u003ca class=\\\&quot;lightbox\\\&quot; href=\\\&quot;https://ceshiren.com/uploads/default/original/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png\\\&quot; data-download-href=\\\&quot;https://ceshiren.com/uploads/default/3a7a5c9bd33e24059766529f4f2f94ac87f288c9\\\&quot; title=\\\&quot;image\\\&quot;\\u003e\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png\\\&quot; alt=\\\&quot;image\\\&quot; data-base62-sha1=\\\&quot;8ljQPAWWkvjBfflYa3NtJb1RmYx\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;465\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9_2_10x10.png\\\&quot;\\u003e\\u003cdiv class=\\\&quot;meta\\\&quot;\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-far-image svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#far-image\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003cspan class=\\\&quot;filename\\\&quot;\\u003eimage\\u003c/span\\u003e\\u003cspan class=\\\&quot;informations\\\&quot;\\u003e1718×999 34.1 KB\\u003c/span\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-discourse-expand svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#discourse-expand\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003c/div\\u003e\\u003c/a\\u003e\\u003c/div\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cdiv class=\\\&quot;lightbox-wrapper\\\&quot;\\u003e\\u003ca class=\\\&quot;lightbox\\\&quot; href=\\\&quot;https://ceshiren.com/uploads/default/original/2X/7/709889105743d053ad6b3f591f58f7e0d592b210.png\\\&quot; data-download-href=\\\&quot;https://ceshiren.com/uploads/default/709889105743d053ad6b3f591f58f7e0d592b210\\\&quot; title=\\\&quot;image\\\&quot;\\u003e\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/7/709889105743d053ad6b3f591f58f7e0d592b210.png\\\&quot; alt=\\\&quot;image\\\&quot; data-base62-sha1=\\\&quot;g44hv7vrjIfXHa4Mh0TfL2v5v3i\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;457\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/7/709889105743d053ad6b3f591f58f7e0d592b210_2_10x10.png\\\&quot;\\u003e\\u003cdiv class=\\\&quot;meta\\\&quot;\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-far-image svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#far-image\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003cspan class=\\\&quot;filename\\\&quot;\\u003eimage\\u003c/span\\u003e\\u003cspan class=\\\&quot;informations\\\&quot;\\u003e1718×983 27 KB\\u003c/span\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-discourse-expand svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#discourse-expand\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003c/div\\u003e\\u003c/a\\u003e\\u003c/div\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003egrep\\u003c/h3\\u003e\\n\\u003cp\\u003e根据用户指定的模式（pattern）对目标文本进行过滤，显示被模式匹配到的行\\u003c/p\\u003e\\n\\u003cp\\u003e选项\\u003c/p\\u003e\\n\\u003cp\\u003e-v 显示不被pattern匹配到的行\\u003cbr\\u003e\\n-i 忽略字符大小写\\u003cbr\\u003e\\n-n 显示匹配的行号\\u003cbr\\u003e\\n-c 统计匹配的行数\\u003cbr\\u003e\\n-o 仅显示匹配到的字符串\\u003cbr\\u003e\\n-E 使用ERE,相当于egrep\\u003c/p\\u003e\\n\\u003ch3\\u003esed\\u003c/h3\\u003e\\n\\u003cp\\u003esed是流编辑器，一次处理一行内容\\u003c/p\\u003e\\n\\u003cp\\u003esed [-hn…][-e][-f\\u0026lt;script文件\\u0026gt;][文本文件]\\u003cbr\\u003e\\n-h 显示帮助。\\u003cbr\\u003e\\n-n 仅显示script处理后的结果。\\u003c/p\\u003e\\n\\u003cp\\u003esed [-hnV][-e][-f\\u0026lt;script文件\\u0026gt;][文本文件]\\u003cbr\\u003e\\n-e 以选项中指定的script来处理输入的文本文件。\\u003cbr\\u003e\\n-f\\u0026lt;script文件\\u0026gt; 以选项中指定的script文件来处理输入的文本文件。\\u003c/p\\u003e\\n\\u003cp\\u003ea ：新增\\t\\tsed -e ‘4 a newline’\\u003cbr\\u003e\\nc ：取代\\t\\tsed -e ‘2,5c No 2-5 number’\\u003cbr\\u003e\\nd ：删除\\t\\tsed -e &#39;2,5d’\\t\\u003cbr\\u003e\\ni ：插入\\t\\tsed -e ‘2i newline’\\u003cbr\\u003e\\np ：打印\\t\\tsed -n ‘/root/p’\\u003cbr\\u003e\\ns ：取代\\t\\tsed -e &#39;s/old/new/g’\\u003c/p\\u003e\\n\\u003ch3\\u003eawk\\u003c/h3\\u003e\\n\\u003cp\\u003e把文件逐行的读入，以空格为默认分隔符将每行切片，切开的部分再进行后续处理\\u003c/p\\u003e\\n\\u003cp\\u003eawk ‘pattern + action’ [filenames]\\u003cbr\\u003e\\n-pattern 正则表达式\\u003cbr\\u003e\\n-action 对匹配到的内容执行的命令（默认为输出每行内容）\\u003c/p\\u003e\\n\\u003cp\\u003eFILENAME awk浏览的文件名\\u003cbr\\u003e\\nBEGIN 处理文本之前要执行的操作\\u003cbr\\u003e\\nEND 处理文本之后要执行的操作\\u003cbr\\u003e\\nFS 设置输入域分隔符，等价于命令行 -F选项\\u003cbr\\u003e\\nNF 浏览记录的域的个数（列数）\\u003cbr\\u003e\\nNR 已读的记录数（行数\\u003c/p\\u003e\\n\\u003cp\\u003eOFS 输出域分隔符\\u003cbr\\u003e\\nORS 输出记录分隔符\\u003cbr\\u003e\\nRS 控制记录分隔符\\u003cbr\\u003e\\n$0 整条记录\\u003cbr\\u003e\\n$1 表示当前行的第一个域…以此类推\\u003c/p\\u003e\\n\\u003ch2\\u003eBash编程语法\\u003c/h2\\u003e\\n\\u003ch3\\u003e变量\\u003c/h3\\u003e\\n\\u003cp\\u003e命名只能使用英文字母，数字和下划线，首个字符不能以数字开头\\u003cbr\\u003e\\n中间不能有空格，可以使用下划线（_）\\u003cbr\\u003e\\n不能使用标点符号\\u003cbr\\u003e\\n不能使用bash里的关键字（可用help命令查看保留关键字）\\u003c/p\\u003e\\n\\u003ch3\\u003e变量类型\\u003c/h3\\u003e\\n\\u003cp\\u003e字符串：your_name=“hogwarts”\\u003cbr\\u003e\\n拼接字符串：greeting=“hello, “$your_name” !”\\u003cbr\\u003e\\n数组 array_name=(value0 value1 value2 value3)\\u003cbr\\u003e\\n取数组 valuen=${array_name[n]}\\u003cbr\\u003e\\n单独赋值 array_name[0]=value0\\u003c/p\\u003e\\n\\u003ch3\\u003e控制语句\\u003c/h3\\u003e\\n\\u003ch4\\u003eif\\u003c/h4\\u003e\\n\\u003cp\\u003e比较两个变量的大小并输出不同的值\\u003cbr\\u003e\\ni\\tf [ $a -eq $b ]; then echo “equal”; elif [ $a -lt $b ];then echo “small”; elif [ $a -gt $b ];then echo “big”;fi\\u003c/p\\u003e\\n\\u003ch4\\u003efor\\u003c/h4\\u003e\\n\\u003cp\\u003e循环读取文件内容并输出\\u003cbr\\u003e\\nfor i in $(cat dir.txt);do echo $i;done\\u003c/p\\u003e\\n\\u003ch4\\u003ewhile\\u003c/h4\\u003e\\n\\u003cp\\u003e循环读取文件内容并输出\\u003cbr\\u003e\\nwhile read line;do echo $line;done\\u0026lt;dir.txt\\u003c/p\\u003e\\n\\u003ch2\\u003eBash脚本编写\\u003c/h2\\u003e\\n\\u003ch3\\u003eread\\u003c/h3\\u003e\\n\\u003cp\\u003eread命令是用于从终端或者文件中读取输入的内部命令\\u003cbr\\u003e\\n读取整行输入\\u003cbr\\u003e\\n每行末尾的换行符不被读入\\u003c/p\\u003e\\n\\u003ch4\\u003e使用\\u003c/h4\\u003e\\n\\u003cp\\u003e从标准输入读取输入并赋值给变量\\u003cbr\\u003e\\nread var\\u003cbr\\u003e\\n从标准输入读取多个内容\\u003cbr\\u003e\\nread var1 var2 var3\\u003cbr\\u003e\\n不指定变量（默认赋值给REPLY）\\u003cbr\\u003e\\nread\\u003c/p\\u003e\\n\\u003ch3\\u003e脚本传参\\u003c/h3\\u003e\\n\\u003cp\\u003e$0 脚本名称\\u003cbr\\u003e\\n$1~$n 获取参数\\u003cbr\\u003e\\n$# 传递到脚本的参数个数\\u003cbr\\u003e\\n$$ 脚本运行的当前进程ID号\\u003cbr\\u003e\\n$* 以一个单字符串显示所有向脚本传递的参数\\u003cbr\\u003e\\n$? 显示最后命令的退出状态。0表示没有错误，其他任何值表明有错误\\u003c/p\\u003e\\n\\u003ch3\\u003e算数运算\\u003c/h3\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003ea=10  b=20\\n+\\t加法\\t`expr $a + $b` 结果为 30\\n-\\t\\t减法\\t`expr $a - $b` 结果为 -10\\n*\\t乘法\\t`expr $a \\\\* $b` 结果为  200\\n/\\t     除法\\t`expr $b / $a` 结果为 2\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003ea=10  b=20\\n%\\t取余\\t`expr $a % $b` 结果为 10\\n=\\t赋值\\ta=$b 将把变量 b 的值赋给 a\\n==\\t相等  相同则返回 true：[ $a == $b ] 返回 false\\n!=\\t不相等 不相同则返回 true：[ $a != $b ] 返回 true\\n\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e-eq\\t检测相等 [ $a -eq $b ] 返回 false\\n-ne\\t检测不相等 [ $a -ne $b ] 返回 true\\n-gt\\t\\t检测左边是否大于右边\\t[ $a -gt $b ] 返回 false\\n-lt\\t\\t检测左边是否小于右边  [ $a -lt $b ] 返回 true\\n-ge\\t检测左边是否大于等于右边 [ $a -ge $b ] 返回 false\\n-le\\t\\t检测左边是否小于等于右边  [ $a -le $b ] 返回 true\\n\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch2\\u003ePython环境\\u003c/h2\\u003e\\n\\u003cp\\u003e官方地址下载python安装包  : \\u003ca href=\\\&quot;https://www.python.org/\\\&quot;\\u003ehttps://www.python.org/\\u003c/a\\u003e\\u003cbr\\u003e\\nPython安装文档（windows系统）：\\u003ca href=\\\&quot;https://ceshiren.com/t/topic/57/4\\\&quot; class=\\\&quot;inline-onebox\\\&quot;\\u003ePython和PyCharm环境安装配置\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e官方地址下载pycharm安装包\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/4/490454895ed1ad8d5e9ba9119ce6360df8af7f91.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://www.jetbrains.com/pycharm/download/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eJetBrains\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cdiv class=\\\&quot;aspect-image\\\&quot; style=\\\&quot;--aspect-ratio:800/499;\\\&quot;\\u003e\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_800x499.png\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;499\\\&quot; srcset=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_800x499.png, https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_1200x748.png 1.5x, https://ceshiren.com/uploads/default/original/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959.png 2x\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/d/d6a0615a550f823a52156d059ea0d110e5bc1959_2_10x10.png\\\&quot;\\u003e\\u003c/div\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://www.jetbrains.com/pycharm/download/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eDownload PyCharm: Python IDE for Professional Developers by JetBrains\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\u003cp\\u003eDownload the latest version of PyCharm for Windows, macOS or Linux.\\u003c/p\\u003e\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\n\\u003cp\\u003e安装包\\u003cbr\\u003e\\npip install 包名==版本号\\u003cbr\\u003e\\npip install selenium==2.39.0\\u003cbr\\u003e\\npip install -i 镜像地址 --trusted-host 镜像地址对应的host\\u003cbr\\u003e\\n举例：pip3 install jupyter -i \\u003ca href=\\\&quot;http://pypi.douban.com/simple/\\\&quot;\\u003ehttp://pypi.douban.com/simple/\\u003c/a\\u003e --trusted-host \\u003ca href=\\\&quot;http://pypi.douban.com\\\&quot;\\u003epypi.douban.com\\u003c/a\\u003e\\u003cbr\\u003e\\n国内的pip源\\u003cbr\\u003e\\n阿里云：\\u003ca href=\\\&quot;https://mirrors.aliyun.com/pypi/simple/\\\&quot;\\u003ehttps://mirrors.aliyun.com/pypi/simple/\\u003c/a\\u003e\\u003cbr\\u003e\\n清华：\\u003ca href=\\\&quot;https://pypi.tuna.tsinghua.edu.cn/simple\\\&quot;\\u003ehttps://pypi.tuna.tsinghua.edu.cn/simple\\u003c/a\\u003e\\u003cbr\\u003e\\n豆瓣：\\u003ca href=\\\&quot;http://pypi.douban.com/simple/\\\&quot;\\u003ehttp://pypi.douban.com/simple/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch2\\u003e2，基础的数据类型\\u003c/h2\\u003e\\n\\u003cp\\u003ePython官方参考文档\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://docs.python.org/3/tutorial/index.html/../_static/py.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://docs.python.org/3/tutorial/index.html\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003edocs.python.org\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://docs.python.org/3/tutorial/index.html\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eThe Python Tutorial — Python 3.9.0 documentation\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\n\\u003cp\\u003eallure：\\u003ca href=\\\&quot;https://demo.qameta.io/allure/#\\\&quot;\\u003ehttps://demo.qameta.io/allure/#\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003ewindows/mac通用安装方法\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://github.com/allure-framework/allure2/releases\\\&quot;\\u003ehttps://github.com/allure-framework/allure2/releases\\u003c/a\\u003e 下载allure2.7.zip包,\\u003cbr\\u003e\\n解压-\\u0026gt;进入bin目录-\\u0026gt;运行allure.bat，\\u003cbr\\u003e\\n把bin目录加入PATH环境变量\\u003cbr\\u003e\\nMac 可以使用brew安装:\\u003cbr\\u003e\\nbrew install allure\\u003cbr\\u003e\\n官网:\\u003ca href=\\\&quot;http://allure.qatools.ru/\\\&quot;\\u003ehttp://allure.qatools.ru/\\u003c/a\\u003e\\u003cbr\\u003e\\n文档：\\u003ca href=\\\&quot;https://docs.qameta.io/allure/#\\\&quot;\\u003ehttps://docs.qameta.io/allure/#\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003e生成报告\\u003c/h3\\u003e\\n\\u003cp\\u003e安装allure-pytest插件\\u003cbr\\u003e\\npip install allure-pytest\\u003cbr\\u003e\\n运行：\\u003cbr\\u003e\\n在测试执行期间收集结果\\u003cbr\\u003e\\npytest  [测试文件] -s –q --alluredir=./result/ (—alluredir这个选项 用于指定存储测试结果的路径)\\u003cbr\\u003e\\n查看测试报告\\u003cbr\\u003e\\n方式一：测试完成后查看实际报告， 在线看报告，会直接打开默认浏览器展示当前报告\\u003cbr\\u003e\\nallure serve ./result/   (注意这里的serve书写)\\u003cbr\\u003e\\n方式二：从结果生成报告，这是一个启动tomcat的服务，需要两个步骤：生成报告，打开报告\\u003cbr\\u003e\\n生成报告\\u003cbr\\u003e\\nallure generate ./result/ -o ./report/ --clean  (注意：覆盖路径加–clean )\\u003cbr\\u003e\\n打开报告\\u003cbr\\u003e\\nallure open -h 127.0.0.1 -p 8883 ./report/\\u003c/p\\u003e\\n\\u003ch3\\u003eallure运行不同的测试用例\\u003c/h3\\u003e\\n\\u003cp\\u003e按features运⾏行行测试你⽤用例例\\u003cbr\\u003e\\npytest --alluredir= log/report/xml --allure_features=测试登录功能,测试我的自选 testcases/alluredemo\\u003cbr\\u003e\\n按story运⾏测试⽤例\\u003cbr\\u003e\\npytest --alluredir= log/report/xml --allure_stories=测试已登录的场景 testcases/alluredemo\\u003cbr\\u003e\\n按severity运⾏测试⽤例\\u003cbr\\u003e\\npytest --alluredir= log/testreport/xml --allure_severities=blocker testcases/alluredemo\\u003c/p\\u003e\\n\\u003ch3\\u003e前端自动化测试-截图\\u003c/h3\\u003e\\n\\u003cp\\u003e场景:\\u003cbr\\u003e\\n前端自动化测试经常需要附加图片或html，在适当的地方，适当的时机截图\\u003cbr\\u003e\\n解决:\\u003cbr\\u003e\\n@allure.attach显示许多不同类型的提供的附件，可以补充测试，步骤或测试结果。\\u003cbr\\u003e\\n步骤:\\u003cbr\\u003e\\n在测试报告里附加网页:\\u003cbr\\u003e\\nallure.attach(body(内容), name, attachment_type, extension):\\u003cbr\\u003e\\nallure.attach(‘ 首页’, ‘这是错误页的结果信息’, allure.attachment_type.HTML)\\u003cbr\\u003e\\n在测试报告里附加图片:\\u003cbr\\u003e\\nallure.attach.file(source, name, attachment_type, extension):\\u003cbr\\u003e\\nallure.attach.file(\\\&quot;./result/b.png\\\&quot;, attachment_type=allure.attachment_type.PNG)\\u003c/p\\u003e\\n\\u003ch3\\u003epytest-html生成报告\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e安装:\\n\\u003cul\\u003e\\n\\u003cli\\u003epip install pytest-html\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e生成html报告\\n\\u003cul\\u003e\\n\\u003cli\\u003epytest -v -s --html=report.html - - self-contained-html\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003eselenium\\u003c/h2\\u003e\\n\\u003cp\\u003e简介\\u003cbr\\u003e\\nSelenium支持web浏览器的自动化。它主要由三个工具构成：WebDriver、IDE、Grid\\u003cbr\\u003e\\n官方网站\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;835\\\&quot; srcset=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1200x1252.png 1.5x, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1600x1670.png 2x\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_10x10.png\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://www.selenium.dev/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eselenium.dev\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eSeleniumHQ Browser Automation\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\n\\u003cul\\u003e\\n\\u003cli\\u003eDriver的介绍\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/documentation/en/webdriver/driver_requirements/\\\&quot;\\u003ehttps://www.selenium.dev/documentation/en/webdriver/driver_requirements/\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003eDriver的下载\\n\\u003cul\\u003e\\n\\u003cli\\u003e淘宝镜像：\\u003ca href=\\\&quot;https://npm.taobao.org/mirrors/chromedriver/\\\&quot;\\u003ehttps://npm.taobao.org/mirrors/chromedriver/\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e官方网站：\\u003ca href=\\\&quot;https://chromedriver.storage.googleapis.com/index.html\\\&quot;\\u003ehttps://chromedriver.storage.googleapis.com/index.html\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003eselenium IDE\\u003c/h2\\u003e\\n\\u003cp\\u003e官网：\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;835\\\&quot; srcset=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_800x835.png, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1200x1252.png 1.5x, https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_1600x1670.png 2x\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/a/a2a86dd4c7d170b9497301e121d2e29c25ca157c_2_10x10.png\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://www.selenium.dev/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eselenium.dev\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eSeleniumHQ Browser Automation\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\u003cbr\\u003e\\nChrome插件：\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd\\\&quot; class=\\\&quot;onebox\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd\\u003c/a\\u003e\\u003cbr\\u003e\\nFirefox插件：\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/\\\&quot; class=\\\&quot;onebox\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://addons.mozilla.org/en-US/firefox/addon/selenium-ide/\\u003c/a\\u003e\\u003cbr\\u003e\\ngithub release：\\u003cbr\\u003e\\n\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://github.githubassets.com/favicons/favicon.svg\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://github.com/SeleniumHQ/selenium-ide/releases\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eGitHub\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cdiv class=\\\&quot;aspect-image\\\&quot; style=\\\&quot;--aspect-ratio:800/591;\\\&quot;\\u003e\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/3/35fcf763782c99613c3c0ef85f78412ba6dd666c.png\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;591\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/3/35fcf763782c99613c3c0ef85f78412ba6dd666c_2_10x10.png\\\&quot;\\u003e\\u003c/div\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://github.com/SeleniumHQ/selenium-ide/releases\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eReleases · SeleniumHQ/selenium-ide\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\u003cp\\u003eOpen Source record and playback test automation for the web. - SeleniumHQ/selenium-ide\\u003c/p\\u003e\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\u003cbr\\u003e\\n其它版本：\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/\\\&quot; class=\\\&quot;onebox\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/\\u003c/a\\u003e\\u003cbr\\u003e\\n注意：Chrome插件在国内无法下载，Firefox可以直接下载。\\n\\u003cul\\u003e\\n\\u003cli\\u003e安装完成后，通过在浏览器的菜单栏中点击它的图标来启动它：\\u003c/li\\u003e\\n\\u003cli\\u003e如果没看到图标，首先确保是否安装了Selenium IDE扩展插件，其次，可以在下面的地址访问所有插件：\\u003c/li\\u003e\\n\\u003cli\\u003eChrome: chrome://extensions\\u003c/li\\u003e\\n\\u003cli\\u003eFirefox: about:addons\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003e扩展\\u003c/h4\\u003e\\n\\u003cp\\u003e代码导出：\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/1/19a2c29f035caf9b5b45eae2cfc78efa2f872e5e.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eselenium.dev\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/1/13f5f6e90e91ae9ec309a7f54a941025fb48ba6e.png\\\&quot; class=\\\&quot;thumbnail onebox-avatar\\\&quot; width=\\\&quot;128\\\&quot; height=\\\&quot;128\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eCode Export · Selenium IDE\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\u003cp\\u003eGetting Started\\u003c/p\\u003e\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\u003cbr\\u003e\\n常见问题：\\u003cbr\\u003e\\n\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/1/19a2c29f035caf9b5b45eae2cfc78efa2f872e5e.png\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/faq\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eselenium.dev\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/1/13f5f6e90e91ae9ec309a7f54a941025fb48ba6e.png\\\&quot; class=\\\&quot;thumbnail onebox-avatar\\\&quot; width=\\\&quot;128\\\&quot; height=\\\&quot;128\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/faq\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eFAQ · Selenium IDE\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\u003cp\\u003eHow do I record hovers?\\u003c/p\\u003e\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\n\\u003ch3\\u003ePython selenium\\u003c/h3\\u003e\\n\\u003cp\\u003e小白入门：\\u003ca href=\\\&quot;https://selenium-python.readthedocs.io/\\\&quot;\\u003ehttps://selenium-python.readthedocs.io/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003eActions\\u003c/h3\\u003e\\n\\u003cp\\u003e官方文档\\u003cbr\\u003e\\n\\u003c/p\\u003e\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://selenium-python.readthedocs.io/api.html\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eselenium-python.readthedocs.io\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;\\\&quot; class=\\\&quot;thumbnail\\\&quot; width=\\\&quot;\\\&quot; height=\\\&quot;\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://selenium-python.readthedocs.io/api.html\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003e7. WebDriver API — Selenium Python Bindings 2 documentation\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\u003cbr\\u003e\\nActionChains：执行PC端的鼠标点击，双击，右键，拖拽等事件\\u003cbr\\u003e\\nTouchActions：模拟PC和移动端的点击，滑动，拖拽，多点触控等多种手势操作\\n\\u003ch3\\u003eTouchAction\\u003c/h3\\u003e\\n\\u003cp\\u003e\\u003ca href=\\\&quot;https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html\\\&quot; class=\\\&quot;onebox\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch4\\u003eframe演示\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e演示：\\u003ca href=\\\&quot;https://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols\\\&quot;\\u003ehttps://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e多frame切换案例：\\u003cbr\\u003e\\n打开包含frame的web页面 \\u003ca href=\\\&quot;https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\\\&quot;\\u003ehttps://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\\u003c/a\\u003e\\u003cbr\\u003e\\n打印’请拖拽我’元素的文本\\u003cbr\\u003e\\n打印’点击运行’元素的文本\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003edef test_framedeal_1(self):\\n    self.driver.get(“https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\\\&quot;)\\n    self.driver.switch_to.frame(\\\&quot;iframeResult\\\&quot;)\\n    print(self.driver.find_element_by_id(\\\&quot;droppable\\\&quot;).text)\\n\\n    self.driver.switch_to.parent_frame()\\n    print(self.driver.find_element_by_id(\\\&quot;submitBTN\\\&quot;).text)\\n\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch4\\u003e多浏览器支持\\u003c/h4\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003ebrowser = os.getenv(\\\&quot;browser\\\&quot;).lower()\\nif browser == &#39;firefox&#39;:\\n    self.driver = webdriver.firefox()\\nelif browser == &#39;headless&#39;:\\n    self.driver = webdriver.PhantomJS()\\nelse:\\n    self.driver = webdriver.Chrome()\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch3\\u003e启动Chrome debug\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e正常启动chrome的debug模式\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003ch1\\u003e默认macOS系统\\u003c/h1\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e/Applications/Google\\\\ Chrome.app/Contents/MacOS/Google\\\\ Chrome --remote-debugging-port=9222\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003ch1\\u003eWindows下找到chrome.exe位置执行下面的命令\\u003c/h1\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003echrome.exe --remote-debugging-port=9222\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003ealert窗口\\u003c/h4\\u003e\\n\\u003cp\\u003e测试案例：\\u003cbr\\u003e\\n打开网页 \\u003ca href=\\\&quot;https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\\\&quot;\\u003ehttps://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\\u003c/a\\u003e\\u003cbr\\u003e\\n操作窗口右侧页面， 将元素1拖拽到元素2\\u003cbr\\u003e\\n这时候会有一个alert弹框，点击弹框中的’确定’\\u003cbr\\u003e\\n然后再按’点击运行’\\u003cbr\\u003e\\n关闭网页\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003edef test_framedeal(self):\\n    self.driver.switch_to.frame(\\\&quot;iframeResult\\\&quot;)\\n    action = ActionChains(self.driver)\\n    action.click_and_hold(self.driver.find_element_by_id(\\\&quot;draggable\\\&quot;))\\\\\\n        .move_to_element(self.driver.find_element_by_id(\\\&quot;droppable\\\&quot;)).release().perform()\\n    self.driver.switch_to.alert.accept()\\n    # self.driver.switch_to.default_content()\\n    self.driver.switch_to.parent_frame()\\n    print(self.driver.find_element_by_id(\\\&quot;submitBTN\\\&quot;).text)\\n    self.driver.find_element_by_id(\\\&quot;submitBTN\\\&quot;).click()\\n    time.sleep(3)\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch3\\u003epageobject\\u003c/h3\\u003e\\n\\u003cp\\u003e2013 Martin Flower  \\u003ca href=\\\&quot;https://martinfowler.com/bliki/PageObject.html\\\&quot;\\u003ehttps://martinfowler.com/bliki/PageObject.html\\u003c/a\\u003e\\u003cbr\\u003e\\n2015 Selenium \\u003ca href=\\\&quot;https://github.com/SeleniumHQ/\\\&quot;\\u003ehttps://github.com/SeleniumHQ/\\u003c/a\\u003e selenium/wiki/PageObjects\\u003cbr\\u003e\\n2020  \\u003ca href=\\\&quot;https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/\\\&quot;\\u003ehttps://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e原则\\u003c/p\\u003e\\n\\u003cp\\u003e\\u003cdiv class=\\\&quot;lightbox-wrapper\\\&quot;\\u003e\\u003ca class=\\\&quot;lightbox\\\&quot; href=\\\&quot;https://ceshiren.com/uploads/default/original/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f.png\\\&quot; data-download-href=\\\&quot;https://ceshiren.com/uploads/default/f214ff9c14927a0e834f721566f9d72bf2b7a48f\\\&quot; title=\\\&quot;image\\\&quot;\\u003e\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_800x311.png\\\&quot; alt=\\\&quot;image\\\&quot; data-base62-sha1=\\\&quot;yxyxhKfHExFOqjYhSrE4v5lI9qf\\\&quot; width=\\\&quot;800\\\&quot; height=\\\&quot;311\\\&quot; srcset=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_800x311.png, https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_1200x466.png 1.5x, https://ceshiren.com/uploads/default/original/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f.png 2x\\\&quot; data-small-upload=\\\&quot;https://ceshiren.com/uploads/default/optimized/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f_2_10x10.png\\\&quot;\\u003e\\u003cdiv class=\\\&quot;meta\\\&quot;\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-far-image svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#far-image\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003cspan class=\\\&quot;filename\\\&quot;\\u003eimage\\u003c/span\\u003e\\u003cspan class=\\\&quot;informations\\\&quot;\\u003e1203×469 139 KB\\u003c/span\\u003e\\u003csvg class=\\\&quot;fa d-icon d-icon-discourse-expand svg-icon\\\&quot; aria-hidden=\\\&quot;true\\\&quot;\\u003e\\u003cuse xlink:href=\\\&quot;#discourse-expand\\\&quot;\\u003e\\u003c/use\\u003e\\u003c/svg\\u003e\\u003c/div\\u003e\\u003c/a\\u003e\\u003c/div\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003eappium\\u003c/h3\\u003e\\n\\u003ch4\\u003e环境\\u003c/h4\\u003e\\n\\u003cp\\u003e安装JDK （1.8版本）\\u003cbr\\u003e\\n官网下载地址：\\u003ca href=\\\&quot;http://www.oracle.com/technetwork/java/javase/downloads/index.html\\\&quot;\\u003ehttp://www.oracle.com/technetwork/java/javase/downloads/index.html\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cstrong\\u003e安装\\u003c/strong\\u003e \\u003cstrong\\u003eSDK\\u003c/strong\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cstrong\\u003e下载\\u003c/strong\\u003e \\u003cstrong\\u003esdk\\u003c/strong\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eAndroid studio地址 \\u003ca href=\\\&quot;https://developer.android.com/studio/index.html\\\&quot;\\u003ehttps://developer.android.com/studio/index.html\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e中文官网下载地址：\\u003ca href=\\\&quot;http://tools.android-studio.org/index.php/sdk\\\&quot;\\u003ehttp://tools.android-studio.org/index.php/sdk\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e安装appium desktop （appium server + appium inspector工具）\\u003cbr\\u003e\\n下载对应操作系统的安装包：\\u003ca href=\\\&quot;https://github.com/appium/appium-desktop/releases\\\&quot;\\u003ehttps://github.com/appium/appium-desktop/releases\\u003c/a\\u003e\\u003cbr\\u003e\\n如果不需要appium inspector ，也可以通过 npm直接安装appium\\u003cbr\\u003e\\n官方安装（不推荐）\\u003cbr\\u003e\\nnpm install -g appium\\u003cbr\\u003e\\n淘宝提供（推荐）\\u003cbr\\u003e\\nnpm install -g cnpm --registry=https://registry.npm.taobao.org\\u003cbr\\u003e\\ncnpm install -g appium\\u003cbr\\u003e\\n运行\\u003cbr\\u003e\\nappium （不报错说明安装成功）\\u003c/p\\u003e\\n\\u003cp\\u003e安装appium python client\\u003cbr\\u003e\\n方式一：Pip install appium-python-client(推荐)\\u003cbr\\u003e\\n方式二：下载源码包：\\u003cbr\\u003e\\n下载地址：\\u003ca href=\\\&quot;https://github.com/appium/python-client\\\&quot;\\u003ehttps://github.com/appium/python-client\\u003c/a\\u003e\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://pypi.python.org/pypi/Appium-Python-Client\\\&quot;\\u003ehttps://pypi.python.org/pypi/Appium-Python-Client\\u003c/a\\u003e\\u003cbr\\u003e\\n解压后在命令行中进入python-client-master目录，该目录下包含setup.py文件\\u003cbr\\u003e\\n执行命令python setup.py install命令安装客户端\\u003c/p\\u003e\\n\\u003ch3\\u003e获取app的信息\\u003c/h3\\u003e\\n\\u003cp\\u003eapp信息\\u003cbr\\u003e\\n获取当前界面元素：adb shell dumpsys activity top （推荐）（重点）\\u003cbr\\u003e\\n获取任务列表：adb shell dumpsys  activity activities\\u003cbr\\u003e\\napp入口\\u003cbr\\u003e\\nadb logcat |grep -i displayed （推荐）（重点）\\u003cbr\\u003e\\naapt dump badging mobike.apk  | grep launchable-activity\\u003cbr\\u003e\\napkanalyzer 最新版本的sdk中才有\\u003cbr\\u003e\\n启动应用\\u003cbr\\u003e\\nadb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S （重点）\\u003c/p\\u003e\\n\\u003ch3\\u003ecapability\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e官方文档：\\u003ca href=\\\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md\\\&quot;\\u003ehttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003eapp控件交互\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eget_attribute()方法能获取的属性，元素的属性几乎都能获取到,属性名称和 uiautomatorviewer 里面的一致\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e源码地址：\\u003ca href=\\\&quot;https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/GetElementAttribute.java\\\&quot;\\u003ehttps://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/GetElementAttribute.java\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eTouchAction 用法\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\\\&quot;\\u003ehttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003e高级定位技巧\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eTouchAction 用法\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\\\&quot;\\u003ehttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003euiautomator\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html\\\&quot;\\u003ehttps://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003eget_attribute\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e官方文档：\\u003ca href=\\\&quot;http://appium.io/docs/en/commands/element/attributes/attribute/\\\&quot;\\u003ehttp://appium.io/docs/en/commands/element/attributes/attribute/\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003eassert断言\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://www.runoob.com/python3/python3-assert.html\\\&quot;\\u003ehttps://www.runoob.com/python3/python3-assert.html\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003ehamrest\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003egithub地址：\\u003ca href=\\\&quot;https://github.com/hamcrest/PyHamcrest\\\&quot;\\u003ehttps://github.com/hamcrest/PyHamcrest\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003eappium纯web页面\\u003c/h3\\u003e\\n\\u003cp\\u003e手机端\\u003cbr\\u003e\\n被测浏览器：(不可以是第三方浏览器)   ’Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android，\\u003cbr\\u003e\\nPC端\\u003cbr\\u003e\\n安装Chrome浏览器(或chromium)，并且能登录https://www.google.com/\\u003cbr\\u003e\\n下载对应手机浏览器对应的driver版本\\u003cbr\\u003e\\n国内镜像地址：\\u003ca href=\\\&quot;https://npm.taobao.org/mirrors/chromedriver/\\\&quot;\\u003ehttps://npm.taobao.org/mirrors/chromedriver/\\u003c/a\\u003e\\u003cbr\\u003e\\nappium github：\\u003ca href=\\\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\\\&quot;\\u003ehttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\\u003c/a\\u003e\\u003cbr\\u003e\\n客户端代码：\\u003cbr\\u003e\\ndesirecapability\\u003cbr\\u003e\\n“browser” = “Browser” 或者“browser” = ”Chrome”\\u003cbr\\u003e\\n“chromedriverExecutable” = “指定driver地址”\\u003cbr\\u003e\\nMac Chromedriver 默认地址：\\u003cbr\\u003e\\n/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/\\u003c/p\\u003e\\n\\u003ch4\\u003e获取webdriver版本\\u003c/h4\\u003e\\n\\u003cp\\u003e查看手机浏览器的版本\\u003cbr\\u003e\\nadb shell pm list package |grep webview\\u003cbr\\u003e\\nadb shell pm dump com.android.browser|grep version\\u003cbr\\u003e\\nadb shell pm dump com.android.chrome|grep version\\u003cbr\\u003e\\nadb shell pm dump com.android.webview|grep version\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003echrome://inspect/\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003eappium混合应用\\u003c/h3\\u003e\\n\\u003cp\\u003ePC:\\u003cbr\\u003e\\n浏览器能访问 \\u003ca href=\\\&quot;https://www.google.com/\\\&quot;\\u003ehttps://www.google.com/\\u003c/a\\u003e\\u003cbr\\u003e\\nchromedriver下载对应的版本\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\\\&quot;\\u003ehttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\\u003c/a\\u003e\\u003cbr\\u003e\\n手机端\\u003cbr\\u003e\\n应用代码需要打开webview开关\\u003cbr\\u003e\\n代码\\u003cbr\\u003e\\nappPackage, appActivity\\u003cbr\\u003e\\ndesirecapability里面添加：chromedriverExecutable：driver路径\\u003c/p\\u003e\\n\\u003ch4\\u003ewebdriver开关\\u003c/h4\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e文档：\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn\\\&quot;\\u003ehttps://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003emonkey\\u003c/h3\\u003e\\n\\u003cp\\u003eadb shell monkey  100 对所有包随机操作\\u003cbr\\u003e\\nadb shell monkey -p com.xueqiu.android 100 对指定包\\u003cbr\\u003e\\nadb shell monkey -p com.xueqiu.android -s 20  80 时间种子\\u003cbr\\u003e\\nadb shell monkey -p com.xueqiu.android  -vv -s 20  80 详细日志\\u003c/p\\u003e\\n\\u003cp\\u003e时间延迟\\u003cbr\\u003e\\nadb shell monkey -p com.xueqiu.android --throttle 5000 100\\u003cbr\\u003e\\n事件百分比\\u003cbr\\u003e\\nadb shell monkey -p com.xueqiu.android --pct-touch 10 1000\\u003c/p\\u003e\\n\\u003cp\\u003e–pct-touch：触摸事件，比如点击\\u003cbr\\u003e\\n–pct-motion：动作事件，比如滑动（直线）\\u003cbr\\u003e\\n–pct-trackball：轨迹事件，比如移动＋点击，曲线滑动\\u003cbr\\u003e\\n–pct-majornav：主要导航事件，比如回退按键、菜单按键：\\u003c/p\\u003e\\n\\u003ch3\\u003emaxim\\u003c/h3\\u003e\\n\\u003caside class=\\\&quot;onebox allowlistedgeneric\\\&quot;\\u003e\\n  \\u003cheader class=\\\&quot;source\\\&quot;\\u003e\\n      \\u003cimg src=\\\&quot;https://github.githubassets.com/favicons/favicon.svg\\\&quot; class=\\\&quot;site-icon\\\&quot; width=\\\&quot;32\\\&quot; height=\\\&quot;32\\\&quot;\\u003e\\n      \\u003ca href=\\\&quot;https://github.com/zhangzhao4444/Maxim\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003eGitHub\\u003c/a\\u003e\\n  \\u003c/header\\u003e\\n  \\u003carticle class=\\\&quot;onebox-body\\\&quot;\\u003e\\n    \\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/5/56a43eade657ab81b8989e4191c323348d3d203d.png\\\&quot; class=\\\&quot;thumbnail onebox-avatar\\\&quot; width=\\\&quot;200\\\&quot; height=\\\&quot;200\\\&quot;\\u003e\\n\\n\\u003ch3\\u003e\\u003ca href=\\\&quot;https://github.com/zhangzhao4444/Maxim\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ezhangzhao4444/Maxim\\u003c/a\\u003e\\u003c/h3\\u003e\\n\\n\\u003cp\\u003e高速uiautomator控件解析算法的Android Monkey, 每秒10-15个Action Event。实现快速DFS算法的Android Monkey , 每秒 5个Action Event。 - zhangzhao4444/Maxim\\u003c/p\\u003e\\n\\n\\n  \\u003c/article\\u003e\\n  \\u003cdiv class=\\\&quot;onebox-metadata\\\&quot;\\u003e\\n    \\n    \\n  \\u003c/div\\u003e\\n  \\u003cdiv style=\\\&quot;clear: both\\\&quot;\\u003e\\u003c/div\\u003e\\n\\u003c/aside\\u003e\\n\\u003cbr\\u003e\\nadb push framework.jar /sdcard\\u003cbr\\u003e\\nadb push monkey.jar /sdcard\\n\\u003cp\\u003eadb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.panda.videoliveplatform --uiautomatormix --running-minutes 60 -v -v\\u003c/p\\u003e\\n\\u003ch3\\u003estf\\u003c/h3\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://github.com/openstf/stf\\\&quot;\\u003ehttps://github.com/openstf/stf\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch4\\u003e启动\\u003c/h4\\u003e\\n\\u003cp\\u003edocker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090\\u003c/p\\u003e\\n\\u003cp\\u003edocker run -d --name stf --net host openstf/stf stf local --allow-remote\\u003c/p\\u003e\\n\\u003ch4\\u003e获取dom结构\\u003c/h4\\u003e\\n\\u003cp\\u003ewindows\\u003cbr\\u003e\\nadb shell “uiautomator dump \\u0026amp;\\u0026amp; cat /sdcard/window_dump.xml” | clip\\u003cbr\\u003e\\nadb shell “uiautomator dump \\u0026amp;\\u0026amp; cat /sdcard/window_dump.xml” \\u0026gt; tmp.xml\\u003cbr\\u003e\\nMac\\u003cbr\\u003e\\nadb shell “uiautomator dump \\u0026amp;\\u0026amp; cat /sdcard/window_dump.xml” | pbcopy\\u003c/p\\u003e\\n\\u003ch3\\u003eselenium Grid\\u003c/h3\\u003e\\n\\u003cp\\u003e官网：\\u003ca href=\\\&quot;https://www.selenium.dev/downloads/\\\&quot;\\u003ehttps://www.selenium.dev/downloads/\\u003c/a\\u003e\\u003cbr\\u003e\\nhub\\u003cbr\\u003e\\njava -jar selenium-server-standalone-3.141.59.jar -role hub\\u003cbr\\u003e\\nnode\\u003cbr\\u003e\\njava -jar selenium-server-standalone-3.141.59.jar -role node -port 5677\\u003c/p\\u003e\\n\\u003ch4\\u003e配置文件启动node\\u003c/h4\\u003e\\n\\u003cp\\u003ejava -jar selenium-server-standalone.jar -role node -nodeConfig node1Config.json\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://www.selenium.dev/documentation/en/grid/setting_up_your_own_grid/\\\&quot; class=\\\&quot;onebox\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://www.selenium.dev/documentation/en/grid/setting_up_your_own_grid/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch2\\u003e耗电量\\u003c/h2\\u003e\\n\\u003cp\\u003egit clone \\u003ca href=\\\&quot;https://github.com/google/battery-historian.git\\\&quot;\\u003ehttps://github.com/google/battery-historian.git\\u003c/a\\u003e\\u003cbr\\u003e\\ncd battery-historian\\u003cbr\\u003e\\ngo get -d -u \\u003ca href=\\\&quot;http://github.com/google/battery-historian/\\\&quot;\\u003egithub.com/google/battery-historian/\\u003c/a\\u003e…\\u003cbr\\u003e\\ngo run setup.go\\u003cbr\\u003e\\ngo run cmd/battery-historian/battery-historian.go\\u003c/p\\u003e\\n\\u003col\\u003e\\n\\u003cli\\u003e清理耗电量数据\\u003cbr\\u003e\\nadb shell dumpsys batterystats --reset\\u003cbr\\u003e\\nadb shell dumpsys batterystats --enable full-wake-history\\u003c/li\\u003e\\n\\u003cli\\u003e运行测试用例/手工操作\\u003c/li\\u003e\\n\\u003cli\\u003e收集数据\\u003cbr\\u003e\\nAndroid 7.0：adb bugreport bugreport.zip\\u003cbr\\u003e\\nAndroid6.0：adb bugreport \\u0026gt; bugreport.txt\\u003c/li\\u003e\\n\\u003c/ol\\u003e\\n\\u003ch2\\u003e弱网\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e使用charles模拟弱网\\u003c/li\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://www.charlesproxy.com/download/\\\&quot;\\u003ehttps://www.charlesproxy.com/download/\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003e网络流量\\u003c/h2\\u003e\\n\\u003cp\\u003eActive interfaces:\\u003cbr\\u003e\\niface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId=“GoogleGuest”}]\\u003cbr\\u003e\\nActive UID interfaces:\\u003cbr\\u003e\\niface=wlan0 ident=[{type=WIFI, subType=COMBINED, networkId=“GoogleGuest”}]\\u003c/p\\u003e\\n\\u003cp\\u003eadb shell dumpsys package com.xueqiu.android | grep userId\\u003cbr\\u003e\\nuserId=10007 gids=[3003, 1028, 1015]\\u003c/p\\u003e\\n\\u003ch2\\u003eapp启动性能\\u003c/h2\\u003e\\n\\u003cp\\u003eadb shell am force-stop $package\\u003cbr\\u003e\\nadb shell screenrecord --bugreport --time-limit 30 /data/local/tmp/xueqiu.mp4 \\u0026amp;\\u003cbr\\u003e\\nadb shell am start  -S -W $package/.view.WelcomeActivityAlias\\u003cbr\\u003e\\nwait\\u003cbr\\u003e\\nadb pull /data/local/tmp/xueqiu.mp4 .\\u003cbr\\u003e\\nffmpeg -i xueqiu.mp4  xueqiu.gif\\u003cbr\\u003e\\nffmpeg -i xueqiu.mp4  -r 10 frames_%03d.jpg\\u003c/p\\u003e\\n\\u003ch2\\u003eCPU统计\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\u003ca href=\\\&quot;https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering\\\&quot;\\u003ehttps://developer.android.com/topic/performance/rendering/inspect-gpu-rendering\\u003c/a\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003eH5 性能分析\\u003c/h2\\u003e\\n\\u003cp\\u003eappium/selenium的ExecuteScript Api\\u003cbr\\u003e\\n注⼊js\\u003cbr\\u003e\\nreturn JSON.stringify(window.performance.timing)\\u003cbr\\u003e\\nJSON.stringify(window.performance.getEntriesByName (document.querySelector(“img”).src)[0], null, 2)\\u003c/p\\u003e\\n\\u003ch2\\u003epostman\\u003c/h2\\u003e\\n\\u003cp\\u003e官网地址 \\u003ca href=\\\&quot;https://www.postman.com/\\\&quot;\\u003ehttps://www.postman.com/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch2\\u003e接口测试框架\\u003c/h2\\u003e\\n\\u003cp\\u003e数据驱动\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e模板字符串\\n\\u003cul\\u003e\\n\\u003cli\\u003e官方文档：\\u003ca href=\\\&quot;https://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template\\\&quot;\\u003ehttps://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003ejmeter安装\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e下载地址：\\u003ca href=\\\&quot;https://archive.apache.org/dist/jmeter/\\\&quot;\\u003ehttps://archive.apache.org/dist/jmeter/\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003ejmeter分布式\\u003c/h2\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e参考：\\u003ca href=\\\&quot;https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology\\\&quot;\\u003ehttps://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003einfluxDB\\u003c/p\\u003e\\n\\u003cp\\u003eInfluxDB 是一个用 Go 语言开发的开源分布式时序数据库。\\u003cbr\\u003e\\n新建容器网络：docker network create grafana\\u003cbr\\u003e\\n运行容器：docker run -d --name=influxdb --network grafana -p 8086:8086 -v ${PWD}/influxdb/:/var/lib/influxdb/ influxdb:1.7.10\\u003cbr\\u003e\\n创建数据库\\u003cbr\\u003e\\n第一种方式：curl -i -XPOST \\u003ca href=\\\&quot;http://localhost:8086/query\\\&quot;\\u003ehttp://localhost:8086/query\\u003c/a\\u003e --data-urlencode “q=CREATE DATABASE jmeter”\\u003cbr\\u003e\\n第二种方式：docker exec -it influxdb influx，执行语句 create database jmeter;\\u003cbr\\u003e\\n简单使用\\u003cbr\\u003e\\nshow databases;\\u003cbr\\u003e\\nuse jmeter;\\u003cbr\\u003e\\nshow measurements;\\u003cbr\\u003e\\nselect * from jmeter limit 3;\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e参考：\\u003ca href=\\\&quot;https://grafana.com/grafana/dashboards/5496\\\&quot;\\u003ehttps://grafana.com/grafana/dashboards/5496\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch2\\u003e性能监控体系\\u003c/h2\\u003e\\n\\u003cp\\u003e部署Prometheus\\u003cbr\\u003e\\n配置文件：\\u003ca href=\\\&quot;https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml\\\&quot;\\u003ehttps://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml\\u003c/a\\u003e\\u003cbr\\u003e\\n运行：docker run -d --name prometheus --network grafana -p 9090:9090 -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:v2.16.0 --config.file=/etc/prometheus/prometheus.yml\\u003c/p\\u003e\\n\\u003cp\\u003e部署node_exporter\\u003c/p\\u003e\\n\\u003cp\\u003e下载地址： \\u003ca href=\\\&quot;https://github.com/prometheus/node_exporter/releases\\\&quot;\\u003ehttps://github.com/prometheus/node_exporter/releases\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e配置Grafana\\u003c/p\\u003e\\n\\u003cp\\u003e配置 Prometheus 数据源\\u003cbr\\u003e\\n配置面板：\\u003ca href=\\\&quot;https://grafana.com/grafana/dashboards/8919\\\&quot;\\u003ehttps://grafana.com/grafana/dashboards/8919\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch2\\u003edocker file\\u003c/h2\\u003e\\n\\u003cp\\u003e常用指令\\u003c/p\\u003e\\n\\u003cp\\u003eFROM：基础镜像，FROM 命令必须是 Dockerfile 的首个命令。\\u003cbr\\u003e\\nLABEL：为镜像生成元数据标签信息。\\u003cbr\\u003e\\nUSER：指定运行容器时的用户名或 UID，后续 RUN 也会使用指定用户。\\u003cbr\\u003e\\nRUN：RUN 命令是 Dockerfile 执行命令的核心部分。它接受命令作为参数并用于创建镜像。每条 RUN 命令在当前基础镜像上执行，并且会提交一个新镜像层。\\u003cbr\\u003e\\nWORKDIR：设置 CMD 指明的命令的运行目录。为后续的 RUN、CMD、ENTRYPOINT、ADD 指令配置工作目录。\\u003cbr\\u003e\\nENV：容器启动的环境变量。\\u003cbr\\u003e\\nARG：构建环境的环境变量。\\u003cbr\\u003e\\nCOPY：复制文件\\u003cbr\\u003e\\nCMD：容器运行时执行的默认命令。\\u003cbr\\u003e\\nENTRYPOINT：指定容器的“入口”。\\u003cbr\\u003e\\nHEALTHCHECK：容器健康状态检查。\\u003c/p\\u003e\\n\\u003ch2\\u003eJenkinsfile语法\\u003c/h2\\u003e\\n\\u003cp\\u003eDeclarative pipeline 示例代码\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003epipline{\\nagent{\\n\\t\\tnode{\\n\\t\\t\\t\\tlabel \\\&quot;myslave\\\&quot;\\n\\t\\t\\t\\tcustomWorkspace \\\&quot;myWorkspace\\\&quot;\\n\\t\\t}\\n}\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003eDeclarative pipeline 示例代码\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003estages{\\nstage(&#39;git pull souce code&#39;){\\n\\t\\tsteps{\\n\\t\\t\\t\\techo \\\&quot;sync updated code\\\&quot;\\n\\t\\t\\t\\tgit \\\&quot;https://github.com/princeqjzh/iPipeline.git\\\&quot;\\n\\t\\t}\\n}\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003eDeclarative pipeline 示例代码\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e post {\\n        success {\\n            echo &#39;goodbye pipeline success!&#39;\\n            sleep 2\\n        }\\n        always {\\n            echo &#39;always say goodbye&#39;\\n        }\\n    }\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003eDeclarative pipeline 示例代码\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e    environment {\\n        hlw = &#39;hello world&#39;\\n    }\\n    stages {\\n        stage(&#39;Print environment_1&#39;){\\n            steps {\\n                echo hlw\\n            }\\n        }\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e   options {\\n        timeout(time: 30, unit: &#39;SECONDS&#39;)\\n\\t\\t\\t  buildDiscarder(logRotator(numToKeepStr: &#39;2&#39;))\\n        retry(5)\\n    }\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e parameters {\\n        string(name: &#39;PERSON&#39;, defaultValue: &#39;Jenkins&#39;, description: &#39;输入的文本参数&#39;)\\n    }\\n    stages {\\n        stage(&#39;Test Parameters&#39;){\\n            steps {\\n                echo \\\&quot;Hello ${params.PERSON}\\\&quot;\\n            }\\n        }\\n    }\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003eJenkinsfile 语法 Scripts pipeline\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e流程控制之 – if/else\\nnode {\\n    stage(&#39;Example&#39;) {\\n        if (env.BRANCH_NAME == &#39;master&#39;) {\\n            echo &#39;I only execute on the master branch&#39;\\n        } else {\\n            echo &#39;I execute elsewhere&#39;\\n        }\\n    }\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e流程控制之 – try/catch\\n    node{\\n        echo \\\&quot;This is test stage which run on the slave agent.\\\&quot;\\n        try {\\n            echo \\\&quot;This is in the try block.\\\&quot;\\n        }catch (exc) {\\n            echo \\\&quot;Something failed, I&#39;m in the catch block.\\\&quot;\\n        }finally {\\n            echo \\\&quot;Finally, I&#39;m in the finally block.\\\&quot;\\n        }\\n    }\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch2\\u003epipline\\u003c/h2\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003epipeline {\\n\\tagent any \\n\\tstages { \\n\\t\\tstage(&#39;begin&#39;){\\n \\t\\t\\tsteps { \\n\\t\\t\\t\\techo &#39;Hello pipeline&#39; \\n\\t\\t\\t\\t}\\n \\t\\t}\\n \\t}\\n\\tpost { \\n\\t\\talways {\\n \\t\\t\\techo &#39;say goodbay&#39;\\n \\t\\t\\t}\\n \\t}\\n }\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e例子源码位置： \\u003ca href=\\\&quot;https://gitee.com/ytq12875/pipeline\\\&quot;\\u003ehttps://gitee.com/ytq12875/pipeline\\u003c/a\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch1\\u003e测试平台开发\\u003c/h1\\u003e\\n\\u003ch2\\u003e测试平台前端\\u003c/h2\\u003e\\n\\u003ch3\\u003evue.js 安装\\u003c/h3\\u003e\\n\\u003col\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eCDN\\u003cbr\\u003e\\n\\u003cimg src=\\\&quot;https://ceshiren.com/uploads/default/original/2X/c/c940621d709e65943b4509fd5a80d3a36f6fcd16.png\\\&quot; alt=\\\&quot;image\\\&quot; data-base62-sha1=\\\&quot;sIlUxXZdctSJUczUx1M1v73rrJc\\\&quot; width=\\\&quot;471\\\&quot; height=\\\&quot;166\\\&quot;\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eNPM\\u003cbr\\u003e\\n通过webpack和CLI安装使用\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ol\\u003e\\n\\u003ch3\\u003e安装node.js环境\\u003c/h3\\u003e\\n\\u003cp\\u003e\\u003ca href=\\\&quot;https://nodejs.org/zh-cn/download/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://nodejs.org/zh-cn/download/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003e组件库的使用\\u003c/h3\\u003e\\n\\u003cp\\u003eElementUI\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://element.eleme.io/#/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://element.eleme.io/#/\\u003c/a\\u003e\\u003cbr\\u003e\\nBootstrapVue\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://bootstrap-vue.org/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://bootstrap-vue.org/\\u003c/a\\u003e\\u003cbr\\u003e\\nVuetify\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://vuetifyjs.com/zh-Hans/\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://vuetifyjs.com/zh-Hans/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003eaxios\\u003c/h3\\u003e\\n\\u003cp\\u003e官方网址：\\u003ca href=\\\&quot;http://www.axios-js.com/\\\&quot;\\u003ehttp://www.axios-js.com/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003cp\\u003e安装\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e$ npm install axios\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003ch3\\u003eVSCode插件\\u003c/h3\\u003e\\n\\u003cp\\u003eVetur：VSCode支持VUE的工具，有语法高亮、格式化、错误检查、自动完成等功能。\\u003c/p\\u003e\\n\\u003cp\\u003eJavaScript (ES6) code snippets：包含VSCode的ES6语法中的JavaScript代码段。\\u003c/p\\u003e\\n\\u003cp\\u003e（推荐）Auto Close Tag：自动添加HTML/XML结束标签。\\u003cbr\\u003e\\n（推荐）Auto Rename Tag：自动重命名对应的HTML/XML标签。\\u003c/p\\u003e\\n\\u003cp\\u003eHighlight Matching Tag：突出显示匹配的开始和结束标签。\\u003c/p\\u003e\\n\\u003ch2\\u003e测试平台后端\\u003c/h2\\u003e\\n\\u003ch3\\u003eJenkins调用\\u003c/h3\\u003e\\n\\u003cp\\u003eJenkins调用-maven依赖\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e\\u0026lt;dependency\\u0026gt;\\n            \\u0026lt;groupId\\u0026gt;com.offbytwo.jenkins\\u0026lt;/groupId\\u0026gt;\\n            \\u0026lt;artifactId\\u0026gt;jenkins-client\\u0026lt;/artifactId\\u0026gt;\\n            \\u0026lt;version\\u0026gt;0.3.8\\u0026lt;/version\\u0026gt;\\n \\u0026lt;/dependency\\u0026gt;\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e常用类-JenkinsHttpClient\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e封装了调用JenkinsAPI的底层方法。\\u003c/li\\u003e\\n\\u003cli\\u003eJenkinsHttpClient(URI uri, String username, String password)\\u003c/li\\u003e\\n\\u003cli\\u003eget(String path)\\u003c/li\\u003e\\n\\u003cli\\u003egetFile(URI path)\\u003c/li\\u003e\\n\\u003cli\\u003epost(String path, boolean crumbFlag)\\u003c/li\\u003e\\n\\u003cli\\u003epost(String path, D data, Class cls)\\u003c/li\\u003e\\n\\u003cli\\u003epost_xml(String path, String xml_data, boolean crumbFlag)\\u003cbr\\u003e\\n等等\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e常用类-JenkinsServer\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e封装了调用JenkinsAPI的语义级别的方法。\\u003c/li\\u003e\\n\\u003cli\\u003eJenkinsServer(JenkinsHttpConnection client)\\u003c/li\\u003e\\n\\u003cli\\u003egetJob(String jobName)\\u003c/li\\u003e\\n\\u003cli\\u003ecreateJob(String jobName, String jobXml, Boolean crumbFlag)\\u003c/li\\u003e\\n\\u003cli\\u003eupdateJob(String jobName, String jobXml, boolean crumbFlag)\\u003c/li\\u003e\\n\\u003cli\\u003egetJobXml(String jobName)\\u003c/li\\u003e\\n\\u003cli\\u003edeleteJob(FolderJob folder, String jobName, boolean crumbFlag)\\u003cbr\\u003e\\n等等\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e常用类-Job\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eJenkins中job对应的实体类，有很多实用的语义级别的方法。\\u003c/li\\u003e\\n\\u003cli\\u003eJob(String name, String url)\\u003c/li\\u003e\\n\\u003cli\\u003ebuild(Job job)\\u003c/li\\u003e\\n\\u003cli\\u003ebuild(Job job, Map\\u0026lt;String, String\\u0026gt; params)\\u003c/li\\u003e\\n\\u003cli\\u003egetFileFromWorkspace(String fileName)\\u003c/li\\u003e\\n\\u003cli\\u003esetClient(JenkinsHttpConnection client)\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003ch3\\u003espringboot\\u003c/h3\\u003e\\n\\u003col\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003e进入 \\u003ca href=\\\&quot;https://start.spring.io/\\\&quot;\\u003ehttps://start.spring.io/\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003e使用IDE的插件进行快速创建\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ol\\u003e\\n\\u003cp\\u003erestful风格的接口实现方式\\u003c/p\\u003e\\n\\u003col\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eSpringBootApplication：springboot主类，用来加载springboot各种特性\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eRestController：Spring会转换返回值并自动将其写入HTTP响应\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eRequestMapping: 用于类和方法，在方法级别时，用于处理HTTP 的各种方法\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eRequestBody：将request body中的json/xml对象解析成该参数类型的Javabean对象\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003ePathVariable：处理动态的 URI，URI 的值可以作为控制器中处理方法的参数\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003ePost/Put/Get/DeleteMapping：在方法的级别上使用，在方法级别时，用于处理HTTP 的各种方法\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eRequestParam：处理get请求的参数\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ol\\u003e\\n\\u003cp\\u003elombok使用\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e\\u0026lt;dependency\\u0026gt;\\n            \\u0026lt;groupId\\u0026gt;org.projectlombok\\u0026lt;/groupId\\u0026gt;\\n            \\u0026lt;artifactId\\u0026gt;lombok\\u0026lt;/artifactId\\u0026gt;\\n            \\u0026lt;version\\u0026gt;1.16.10\\u0026lt;/version\\u0026gt;\\n \\u0026lt;/dependency\\u0026gt;\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e集成swagger-配置类\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e@Configuration\\n@EnableSwagger2\\npublic class SwaggerConfig {\\n\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e集成swagger-配置项\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e@Bean\\npublic Docket docket() {\\n \\t\\t//header\\n\\t\\t//apiInfo\\n}\\n\\nprivate ApiInfo apiInfo() {\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e常用配置介绍\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003eserver:\\n  port: 8093\\n  connection-timeout: 18000000\\n  servlet\\n     session:\\n      timeout: 30m #30分钟，测试的话时间不能太短，否则不准。m(分钟)，s(秒)，h(小时)，不写单位默认毫秒\\nspring:\\n  application:\\n    name: aitest\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003espringboot多环境配置\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003e\\u0026lt;profiles\\u0026gt;\\n        \\u0026lt;!--开发环境--\\u0026gt;\\n        \\u0026lt;profile\\u0026gt;\\n            \\u0026lt;id\\u0026gt;dev\\u0026lt;/id\\u0026gt;\\n            \\u0026lt;properties\\u0026gt;\\n                \\u0026lt;spring.profiles.active\\u0026gt;dev\\u0026lt;/spring.profiles.active\\u0026gt;\\n            \\u0026lt;/properties\\u0026gt;\\n            \\u0026lt;activation\\u0026gt;\\n                \\u0026lt;activeByDefault\\u0026gt;true\\u0026lt;/activeByDefault\\u0026gt;\\n            \\u0026lt;/activation\\u0026gt;\\n        \\u0026lt;/profile\\u0026gt;\\n\\u0026lt;/profiles\\u0026gt;\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e简单运行脚本\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003etest_start_8097.sh\\nnohup java -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m  -server -Dserver.port=8012 -jar aitest-mini.jar &#39;aitest-mini&#39; --spring.profiles.active=dev  \\u0026gt;\\u0026gt;./test_info_8097.log 2\\u0026gt;\\u0026amp;1 \\u0026amp;\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003eps -ef | grep aitest-mini \\u003cspan class=\\\&quot;hashtag\\\&quot;\\u003e#查询已经存在的aitest-mini进程\\u003c/span\\u003e，进程号为10179\\u003c/li\\u003e\\n\\u003cli\\u003ekill -9 10179 # 停止该进程\\u003c/li\\u003e\\n\\u003cli\\u003esh test_start_8099.sh \\u003cspan class=\\\&quot;hashtag\\\&quot;\\u003e#执行启动命令\\u003c/span\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003etail -f test_info_8099.log \\u003cspan class=\\\&quot;hashtag\\\&quot;\\u003e#实时查看服务输出日志\\u003c/span\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003eCors跨域资源共享\\u003cbr\\u003e\\n\\u003ca href=\\\&quot;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS\\\&quot; target=\\\&quot;_blank\\\&quot; rel=\\\&quot;noopener\\\&quot;\\u003ehttps://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS\\u003c/a\\u003e\\u003c/p\\u003e\\n\\u003ch3\\u003e数据持久化技术\\u003c/h3\\u003e\\n\\u003cp\\u003emybatis配置\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003espringboot集成mybatis配置\\u003c/li\\u003e\\n\\u003cli\\u003emybatis相关配置\\u003c/li\\u003e\\n\\u003cli\\u003esql语句打印配置\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e\\u003cspan class=\\\&quot;mention\\\&quot;\\u003e@MapperScan\\u003c/span\\u003e(“com.hogwartstest.aitestmini.dao”)\\u003c/p\\u003e\\n\\u003cp\\u003etk.mybatis使用-mapper统一父类\\u003c/p\\u003e\\n\\u003cp\\u003emybatis的mapper的统一父类，用于简单sql语句的快速编码\\u003c/p\\u003e\\n\\u003cpre\\u003e\\u003ccode class=\\\&quot;lang-auto\\\&quot;\\u003epublic interface MySqlExtensionMapper\\u0026lt;T\\u0026gt; extends Mapper\\u0026lt;T\\u0026gt;, MySqlMapper\\u0026lt;T\\u0026gt;, IdsMapper\\u0026lt;T\\u0026gt; {\\n}\\n\\u003c/code\\u003e\\u003c/pre\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003e持久化常见注解\\u003c/strong\\u003e\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eTable：表对应的实体类标识，name属性为表名\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eId：主键标识\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eGeneratedValue(strategy = GenerationType.IDENTITY)：配置主键为自增策略\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eColumn：列名标识，当类属性与表字段不符时，用name属性标识表字段\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003eTransient：标识此字段不进行持久化\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\\n\\u003cp\\u003e\\u003cstrong\\u003emybatis常见特性\\u003c/strong\\u003e\\u003c/p\\u003e\\n\\u003cul\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003e#{createUserId}\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003e${createUserId}\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003cli\\u003e\\n\\u003cp\\u003econcat(’%’, #{params.caseSign}, ‘%’):MySQL函数，返回结果为连接参数产生的字符串。如有任何一个参数为NULL ，则返回值为 NULL。\\u003c/p\\u003e\\n\\u003c/li\\u003e\\n\\u003c/ul\\u003e\&quot;,\&quot;post_number\&quot;:1,\&quot;post_type\&quot;:1,\&quot;updated_at\&quot;:\&quot;2020-11-21T15:36:34.474Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:2,\&quot;reads\&quot;:518,\&quot;readers_count\&quot;:517,\&quot;score\&quot;:368.6,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;瓶子\&quot;,\&quot;primary_group_name\&quot;:\&quot;ceba\&quot;,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:\&quot;\&quot;,\&quot;primary_group_flair_color\&quot;:\&quot;\&quot;,\&quot;version\&quot;:9,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;link_counts\&quot;:[{\&quot;url\&quot;:\&quot;https://tool.oschina.net/regex\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:74},{\&quot;url\&quot;:\&quot;https://ceshiren.com/t/topic/57/4\&quot;,\&quot;internal\&quot;:true,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Python和PyCharm环境安装配置\&quot;,\&quot;clicks\&quot;:13},{\&quot;url\&quot;:\&quot;https://selenium-python.readthedocs.io/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Selenium with Python — Selenium Python Bindings 2 documentation\&quot;,\&quot;clicks\&quot;:11},{\&quot;url\&quot;:\&quot;https://docs.python.org/3/tutorial/index.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;The Python Tutorial — Python 3.8.5 documentation\&quot;,\&quot;clicks\&quot;:10},{\&quot;url\&quot;:\&quot;https://github.com/allure-framework/allure2/releases\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Releases · allure-framework/allure2 · GitHub\&quot;,\&quot;clicks\&quot;:9},{\&quot;url\&quot;:\&quot;https://www.python.org/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Welcome to Python.org\&quot;,\&quot;clicks\&quot;:9},{\&quot;url\&quot;:\&quot;https://demo.qameta.io/allure/#\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Allure Report\&quot;,\&quot;clicks\&quot;:8},{\&quot;url\&quot;:\&quot;https://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;string --- 常见的字符串操作 — Python 3.8.5 文档\&quot;,\&quot;clicks\&quot;:8},{\&quot;url\&quot;:\&quot;https://github.com/SeleniumHQ/selenium-ide/releases\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Releases · SeleniumHQ/selenium-ide · GitHub\&quot;,\&quot;clicks\&quot;:6},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;SeleniumHQ Browser Automation\&quot;,\&quot;clicks\&quot;:6},{\&quot;url\&quot;:\&quot;https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:6},{\&quot;url\&quot;:\&quot;http://www.oracle.com/technetwork/java/javase/downloads/index.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;https://npm.taobao.org/mirrors/chromedriver/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;ChromeDriver Mirror\&quot;,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;http://tools.android-studio.org/index.php/sdk\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Android SDK 百度网盘下载地址链接\&quot;,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium-desktop/releases\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Releases · appium/appium-desktop · GitHub\&quot;,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;https://mirrors.aliyun.com/pypi/simple/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Simple Index\&quot;,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/documentation/en/webdriver/driver_requirements/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Driver requirements :: Documentation for Selenium\&quot;,\&quot;clicks\&quot;:5},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;appium/touch-actions.md at master · appium/appium · GitHub\&quot;,\&quot;clicks\&quot;:4},{\&quot;url\&quot;:\&quot;https://www.jetbrains.com/pycharm/download/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Download PyCharm: Python IDE for Professional Developers by JetBrains\&quot;,\&quot;clicks\&quot;:4},{\&quot;url\&quot;:\&quot;https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Apache JMeter - Apache JMeter Distributed Testing Step-by-step\&quot;,\&quot;clicks\&quot;:4},{\&quot;url\&quot;:\&quot;https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:4},{\&quot;url\&quot;:\&quot;https://www.postman.com/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3},{\&quot;url\&quot;:\&quot;https://github.com/zhangzhao4444/Maxim\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;GitHub - zhangzhao4444/Maxim: 高速uiautomator控件解析算法的Android Monkey, 每秒10-15个Action Event。实现快速DFS算法的Android Monkey , 每秒 5个Action Event。\&quot;,\&quot;clicks\&quot;:3},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;appium/chromedriver.md at master · appium/appium · GitHub\&quot;,\&quot;clicks\&quot;:3},{\&quot;url\&quot;:\&quot;https://www.runoob.com/python3/python3-assert.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3},{\&quot;url\&quot;:\&quot;https://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;W3School TIY Editor\&quot;,\&quot;clicks\&quot;:3},{\&quot;url\&quot;:\&quot;https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;prometheus/prometheus.yml at master · prometheus/prometheus · GitHub\&quot;,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://github.com/hamcrest/PyHamcrest\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;GitHub - hamcrest/PyHamcrest: Hamcrest matchers for Python\&quot;,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/faq\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;FAQ · Selenium IDE\&quot;,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;菜鸟教程在线编辑器\&quot;,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://www.charlesproxy.com/download/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Download a Free Trial of Charles • Charles Web Debugging Proxy\&quot;,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://pypi.tuna.tsinghua.edu.cn/simple\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;appium/caps.md at master · appium/appium · GitHub\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://developer.android.com/studio/index.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;http://allure.qatools.ru/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://docs.qameta.io/allure/#\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Allure Framework\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://nodejs.org/zh-cn/download/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;下载 | Node.js\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Selenium IDE version history - 25 versions – Add-ons for Firefox (en-GB)\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://martinfowler.com/bliki/PageObject.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;PageObject\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://selenium-python.readthedocs.io/api.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;7. WebDriver API — Selenium Python Bindings 2 documentation\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;selenium.webdriver.common.touch_actions — Selenium 3.14 documentation\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Code Export · Selenium IDE\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Selenium IDE – Get this Extension for 🦊 Firefox (en-US)\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://start.spring.io/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://grafana.com/grafana/dashboards/8919\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;1 Node Exporter for Prometheus Dashboard CN v20200628 dashboard for Grafana | Grafana Labs\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://element.eleme.io/#/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Element - The world&#39;s most popular Vue UI framework\&quot;,\&quot;clicks\&quot;:1},{\&quot;url\&quot;:\&quot;https://github.com/openstf/stf\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;GitHub - openstf/stf: Control and manage Android devices from your browser.\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://ceshiren.com/uploads/default/original/2X/f/f214ff9c14927a0e834f721566f9d72bf2b7a48f.png\&quot;,\&quot;internal\&quot;:true,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://ceshiren.com/uploads/default/original/2X/7/709889105743d053ad6b3f591f58f7e0d592b210.png\&quot;,\&quot;internal\&quot;:true,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://ceshiren.com/uploads/default/original/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png\&quot;,\&quot;internal\&quot;:true,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;HTTP访问控制（CORS） - HTTP | MDN\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://vuetifyjs.com/zh-Hans/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;基于 Vue 编写的 Material Design 框架 — Vuetify.js\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://bootstrap-vue.org/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;BootstrapVue\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://www.axios-js.com/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;axios中文网|axios API 中文文档 | axios\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://github.com/appium/python-client\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;GitHub - appium/python-client: Python language bindings for Appium\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://gitee.com/ytq12875/pipeline\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://github.com/prometheus/node_exporter/releases\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Releases · prometheus/node_exporter · GitHub\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://grafana.com/grafana/dashboards/5496\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Apache JMeter Dashboard using Core InfluxdbBackendListenerClient dashboard for Grafana | Grafana Labs\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://localhost:8086/query\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://archive.apache.org/dist/jmeter/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Index of /dist/jmeter\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://github.com/google/battery-historian/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://github.com/google/battery-historian.git\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/documentation/en/grid/setting_up_your_own_grid/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/downloads/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Downloads\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://www.google.com/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://appium.io/docs/en/commands/element/attributes/attribute/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Attribute - Appium\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/GetElementAttribute.java\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;appium-uiautomator2-server/GetElementAttribute.java at master · appium/appium-uiautomator2-server · GitHub\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://pypi.python.org/pypi/Appium-Python-Client\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://github.com/SeleniumHQ/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;title\&quot;:\&quot;Selenium · GitHub\&quot;,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://chromedriver.storage.googleapis.com/index.html\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://pypi.douban.com\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;http://pypi.douban.com/simple/\&quot;,\&quot;internal\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:0},{\&quot;url\&quot;:\&quot;https://ceshiren.com/t/topic/9919\&quot;,\&quot;internal\&quot;:true,\&quot;reflection\&quot;:true,\&quot;title\&quot;:\&quot;测试开发17期—课程导航帖\&quot;,\&quot;clicks\&quot;:0}],\&quot;read\&quot;:false,\&quot;user_title\&quot;:\&quot;霍格沃兹测试学院教务处\&quot;,\&quot;title_is_group\&quot;:true,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;count\&quot;:17,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:true,\&quot;admin\&quot;:true,\&quot;staff\&quot;:true,\&quot;user_id\&quot;:7,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:1,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;user_created_at\&quot;:\&quot;2019-10-11T10:08:45.101Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:13943,\&quot;name\&quot;:\&quot;瓶子\&quot;,\&quot;username\&quot;:\&quot;mayunlong\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/mayunlong/{size}/9557_2.png\&quot;,\&quot;created_at\&quot;:\&quot;2020-08-18T06:04:02.576Z\&quot;,\&quot;cooked\&quot;:\&quot;\&quot;,\&quot;post_number\&quot;:2,\&quot;post_type\&quot;:3,\&quot;updated_at\&quot;:\&quot;2020-08-18T06:04:02.576Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:311,\&quot;readers_count\&quot;:310,\&quot;score\&quot;:62.2,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;瓶子\&quot;,\&quot;primary_group_name\&quot;:\&quot;ceba\&quot;,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:\&quot;\&quot;,\&quot;primary_group_flair_color\&quot;:\&quot;\&quot;,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:\&quot;霍格沃兹测试学院教务处\&quot;,\&quot;title_is_group\&quot;:true,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:true,\&quot;admin\&quot;:true,\&quot;staff\&quot;:true,\&quot;user_id\&quot;:7,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:1,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;action_code\&quot;:\&quot;visible.disabled\&quot;,\&quot;user_created_at\&quot;:\&quot;2019-10-11T10:08:45.101Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:13986,\&quot;name\&quot;:\&quot;Chengheng\&quot;,\&quot;username\&quot;:\&quot;Muller\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/muller/{size}/64_2.png\&quot;,\&quot;created_at\&quot;:\&quot;2020-08-19T01:46:25.669Z\&quot;,\&quot;cooked\&quot;:\&quot;\&quot;,\&quot;post_number\&quot;:3,\&quot;post_type\&quot;:3,\&quot;updated_at\&quot;:\&quot;2020-08-19T01:46:25.669Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:310,\&quot;readers_count\&quot;:309,\&quot;score\&quot;:62.0,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;Chengheng\&quot;,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:\&quot;霍格沃兹测试学院教务处\&quot;,\&quot;title_is_group\&quot;:false,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:false,\&quot;admin\&quot;:true,\&quot;staff\&quot;:true,\&quot;user_id\&quot;:9,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:2,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;action_code\&quot;:\&quot;visible.enabled\&quot;,\&quot;user_created_at\&quot;:\&quot;2019-10-12T08:03:39.329Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:14062,\&quot;name\&quot;:\&quot;16期学委-周杰偷\&quot;,\&quot;username\&quot;:\&quot;CaptainJi\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/captainji/{size}/7581_2.png\&quot;,\&quot;created_at\&quot;:\&quot;2020-08-19T21:15:54.363Z\&quot;,\&quot;cooked\&quot;:\&quot;\\u003cp\\u003e精华 \\u003cimg src=\\\&quot;https://ceshiren.com/images/emoji/apple/smile.png?v=9\\\&quot; title=\\\&quot;:smile:\\\&quot; class=\\\&quot;emoji\\\&quot; alt=\\\&quot;:smile:\\\&quot;\\u003e\\u003c/p\\u003e\&quot;,\&quot;post_number\&quot;:4,\&quot;post_type\&quot;:1,\&quot;updated_at\&quot;:\&quot;2020-08-19T21:15:54.363Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:317,\&quot;readers_count\&quot;:316,\&quot;score\&quot;:63.4,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;16期学委-周杰偷\&quot;,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:\&quot;\&quot;,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:false,\&quot;admin\&quot;:false,\&quot;staff\&quot;:false,\&quot;user_id\&quot;:1485,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:2,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;user_created_at\&quot;:\&quot;2020-06-22T00:28:26.924Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:14063,\&quot;name\&quot;:\&quot;jackey\&quot;,\&quot;username\&quot;:\&quot;328441488\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/3/46a35a/{size}.png\&quot;,\&quot;created_at\&quot;:\&quot;2020-08-20T00:09:40.521Z\&quot;,\&quot;cooked\&quot;:\&quot;\\u003cp\\u003e很全\\u003c/p\\u003e\&quot;,\&quot;post_number\&quot;:5,\&quot;post_type\&quot;:1,\&quot;updated_at\&quot;:\&quot;2020-08-20T00:09:40.521Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:312,\&quot;readers_count\&quot;:311,\&quot;score\&quot;:62.4,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;jackey\&quot;,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:null,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:false,\&quot;admin\&quot;:false,\&quot;staff\&quot;:false,\&quot;user_id\&quot;:1404,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:2,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;user_created_at\&quot;:\&quot;2020-06-18T06:42:19.626Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:25150,\&quot;name\&quot;:\&quot;Chengheng\&quot;,\&quot;username\&quot;:\&quot;Muller\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/muller/{size}/64_2.png\&quot;,\&quot;created_at\&quot;:\&quot;2021-01-09T07:19:51.947Z\&quot;,\&quot;cooked\&quot;:\&quot;\&quot;,\&quot;post_number\&quot;:6,\&quot;post_type\&quot;:3,\&quot;updated_at\&quot;:\&quot;2021-01-09T07:19:51.947Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:95,\&quot;readers_count\&quot;:94,\&quot;score\&quot;:19.0,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;Chengheng\&quot;,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:\&quot;霍格沃兹测试学院教务处\&quot;,\&quot;title_is_group\&quot;:false,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:false,\&quot;admin\&quot;:true,\&quot;staff\&quot;:true,\&quot;user_id\&quot;:9,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:2,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;action_code\&quot;:\&quot;pinned.enabled\&quot;,\&quot;user_created_at\&quot;:\&quot;2019-10-12T08:03:39.329Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false},{\&quot;id\&quot;:25174,\&quot;name\&quot;:\&quot;Comeon\&quot;,\&quot;username\&quot;:\&quot;Comeon\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/c/76d3ee/{size}.png\&quot;,\&quot;created_at\&quot;:\&quot;2021-01-09T13:36:53.489Z\&quot;,\&quot;cooked\&quot;:\&quot;\\u003ch3\\u003espringboot 这个是录播课程里面新增的内容吗？直播课程里面好像没这个课程呀\\u003c/h3\\u003e\&quot;,\&quot;post_number\&quot;:7,\&quot;post_type\&quot;:1,\&quot;updated_at\&quot;:\&quot;2021-01-09T13:36:53.489Z\&quot;,\&quot;reply_count\&quot;:0,\&quot;reply_to_post_number\&quot;:null,\&quot;quote_count\&quot;:0,\&quot;incoming_link_count\&quot;:0,\&quot;reads\&quot;:92,\&quot;readers_count\&quot;:91,\&quot;score\&quot;:33.4,\&quot;yours\&quot;:false,\&quot;topic_id\&quot;:5528,\&quot;topic_slug\&quot;:\&quot;topic\&quot;,\&quot;display_username\&quot;:\&quot;Comeon\&quot;,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;version\&quot;:1,\&quot;can_edit\&quot;:false,\&quot;can_delete\&quot;:false,\&quot;can_recover\&quot;:false,\&quot;can_wiki\&quot;:false,\&quot;read\&quot;:false,\&quot;user_title\&quot;:null,\&quot;bookmarked\&quot;:false,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:2,\&quot;count\&quot;:1,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:3,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:4,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:6,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;can_act\&quot;:true}],\&quot;moderator\&quot;:false,\&quot;admin\&quot;:false,\&quot;staff\&quot;:false,\&quot;user_id\&quot;:1380,\&quot;hidden\&quot;:false,\&quot;trust_level\&quot;:2,\&quot;deleted_at\&quot;:null,\&quot;user_deleted\&quot;:false,\&quot;edit_reason\&quot;:null,\&quot;can_view_edit_history\&quot;:true,\&quot;wiki\&quot;:false,\&quot;user_created_at\&quot;:\&quot;2020-06-17T14:01:51.919Z\&quot;,\&quot;user_date_of_birth\&quot;:null,\&quot;can_accept_answer\&quot;:false,\&quot;can_unaccept_answer\&quot;:false,\&quot;accepted_answer\&quot;:false,\&quot;can_translate\&quot;:false}],\&quot;stream\&quot;:[13942,13943,13986,14062,14063,25150,25174]},\&quot;timeline_lookup\&quot;:[[1,187],[3,186],[4,185],[6,43],[7,42]],\&quot;suggested_topics\&quot;:[{\&quot;id\&quot;:10160,\&quot;title\&quot;:\&quot;微信小程序测试微信总是闪退，用的genymotion，这个测试有没有更细致一点的代码，能完整走一遍\&quot;,\&quot;fancy_title\&quot;:\&quot;微信小程序测试微信总是闪退，用的genymotion，这个测试有没有更细致一点的代码，能完整走一遍\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;posts_count\&quot;:1,\&quot;reply_count\&quot;:0,\&quot;highest_post_number\&quot;:1,\&quot;image_url\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-21T12:21:36.019Z\&quot;,\&quot;last_posted_at\&quot;:\&quot;2021-02-21T12:21:36.073Z\&quot;,\&quot;bumped\&quot;:true,\&quot;bumped_at\&quot;:\&quot;2021-02-21T12:21:36.073Z\&quot;,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;unseen\&quot;:true,\&quot;pinned\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;bookmarked\&quot;:null,\&quot;liked\&quot;:null,\&quot;tags\&quot;:[],\&quot;like_count\&quot;:0,\&quot;views\&quot;:1,\&quot;category_id\&quot;:22,\&quot;featured_link\&quot;:null,\&quot;has_accepted_answer\&quot;:false,\&quot;posters\&quot;:[{\&quot;extras\&quot;:\&quot;latest single\&quot;,\&quot;description\&quot;:\&quot;原始作者, 最新发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:3992,\&quot;username\&quot;:\&quot;tnew_tao\&quot;,\&quot;name\&quot;:\&quot;桃花妞妞\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/t/c6cbf5/{size}.png\&quot;}}]},{\&quot;id\&quot;:10148,\&quot;title\&quot;:\&quot;有关pageobject中的黑名单问题_阶段6里面的数据驱动\&quot;,\&quot;fancy_title\&quot;:\&quot;有关pageobject中的黑名单问题_阶段6里面的数据驱动\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;posts_count\&quot;:2,\&quot;reply_count\&quot;:0,\&quot;highest_post_number\&quot;:2,\&quot;image_url\&quot;:null,\&quot;created_at\&quot;:\&quot;2021-02-20T11:49:49.921Z\&quot;,\&quot;last_posted_at\&quot;:\&quot;2021-02-21T11:32:29.888Z\&quot;,\&quot;bumped\&quot;:true,\&quot;bumped_at\&quot;:\&quot;2021-02-21T11:32:29.888Z\&quot;,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;unseen\&quot;:true,\&quot;pinned\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;bookmarked\&quot;:null,\&quot;liked\&quot;:null,\&quot;tags\&quot;:[\&quot;appium\&quot;],\&quot;like_count\&quot;:0,\&quot;views\&quot;:22,\&quot;category_id\&quot;:22,\&quot;featured_link\&quot;:null,\&quot;has_accepted_answer\&quot;:false,\&quot;posters\&quot;:[{\&quot;extras\&quot;:null,\&quot;description\&quot;:\&quot;原始作者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:3992,\&quot;username\&quot;:\&quot;tnew_tao\&quot;,\&quot;name\&quot;:\&quot;桃花妞妞\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/t/c6cbf5/{size}.png\&quot;}},{\&quot;extras\&quot;:\&quot;latest\&quot;,\&quot;description\&quot;:\&quot;最新发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:976,\&quot;username\&quot;:\&quot;Jaxon\&quot;,\&quot;name\&quot;:\&quot;花满楼\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/jaxon/{size}/9558_2.png\&quot;}}]},{\&quot;id\&quot;:10156,\&quot;title\&quot;:\&quot;启动Appium 点击Start Session报错\&quot;,\&quot;fancy_title\&quot;:\&quot;启动Appium 点击Start Session报错\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;posts_count\&quot;:10,\&quot;reply_count\&quot;:6,\&quot;highest_post_number\&quot;:10,\&quot;image_url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/2X/4/462a6cb2d5a13b1514f7c8b02c6a533c5afbe35e_2_1024x442.png\&quot;,\&quot;created_at\&quot;:\&quot;2021-02-21T02:50:26.967Z\&quot;,\&quot;last_posted_at\&quot;:\&quot;2021-02-21T10:08:28.071Z\&quot;,\&quot;bumped\&quot;:true,\&quot;bumped_at\&quot;:\&quot;2021-02-21T10:08:28.071Z\&quot;,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;unseen\&quot;:true,\&quot;pinned\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;bookmarked\&quot;:null,\&quot;liked\&quot;:null,\&quot;tags\&quot;:[],\&quot;like_count\&quot;:0,\&quot;views\&quot;:17,\&quot;category_id\&quot;:22,\&quot;featured_link\&quot;:null,\&quot;has_accepted_answer\&quot;:false,\&quot;posters\&quot;:[{\&quot;extras\&quot;:null,\&quot;description\&quot;:\&quot;原始作者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:2103,\&quot;username\&quot;:\&quot;401001645\&quot;,\&quot;name\&quot;:\&quot;萍尤\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/4/cc9497/{size}.png\&quot;}},{\&quot;extras\&quot;:\&quot;latest\&quot;,\&quot;description\&quot;:\&quot;最新发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:3720,\&quot;username\&quot;:\&quot;junevision\&quot;,\&quot;name\&quot;:\&quot;测开17期学委-六月雨June\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/junevision/{size}/13046_2.png\&quot;}}]},{\&quot;id\&quot;:10153,\&quot;title\&quot;:\&quot;iOS UI 自动化，pytest+wda，登录场景跳转到QQ不会返回待测app，请教稳定返回待测app的方法\&quot;,\&quot;fancy_title\&quot;:\&quot;iOS UI 自动化，pytest+wda，登录场景跳转到QQ不会返回待测app，请教稳定返回待测app的方法\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;posts_count\&quot;:2,\&quot;reply_count\&quot;:0,\&quot;highest_post_number\&quot;:2,\&quot;image_url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/2X/9/93d3be35a8f143c01a4daa3f7657c9f25e0018c8_2_473x1024.jpeg\&quot;,\&quot;created_at\&quot;:\&quot;2021-02-20T15:34:18.473Z\&quot;,\&quot;last_posted_at\&quot;:\&quot;2021-02-20T15:39:27.840Z\&quot;,\&quot;bumped\&quot;:true,\&quot;bumped_at\&quot;:\&quot;2021-02-20T15:39:27.840Z\&quot;,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;unseen\&quot;:true,\&quot;pinned\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;bookmarked\&quot;:null,\&quot;liked\&quot;:null,\&quot;tags\&quot;:[\&quot;appium\&quot;,\&quot;python\&quot;],\&quot;like_count\&quot;:0,\&quot;views\&quot;:17,\&quot;category_id\&quot;:22,\&quot;featured_link\&quot;:null,\&quot;has_accepted_answer\&quot;:false,\&quot;posters\&quot;:[{\&quot;extras\&quot;:null,\&quot;description\&quot;:\&quot;原始作者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:4142,\&quot;username\&quot;:\&quot;273658709\&quot;,\&quot;name\&quot;:\&quot;dani\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/2/c37758/{size}.png\&quot;}},{\&quot;extras\&quot;:\&quot;latest\&quot;,\&quot;description\&quot;:\&quot;最新发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:232,\&quot;username\&quot;:\&quot;xiaoxi\&quot;,\&quot;name\&quot;:\&quot;测开17期学委-晓兮\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/xiaoxi/{size}/693_2.png\&quot;}}]},{\&quot;id\&quot;:10149,\&quot;title\&quot;:\&quot;appium封装黑名单提示找不到关闭的元素，已添加隐式等到为10秒\&quot;,\&quot;fancy_title\&quot;:\&quot;appium封装黑名单提示找不到关闭的元素，已添加隐式等到为10秒\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;posts_count\&quot;:22,\&quot;reply_count\&quot;:19,\&quot;highest_post_number\&quot;:22,\&quot;image_url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/2X/2/29c26f26613cb9d450d86fae4313c3c1ca1dac55_2_1023x515.png\&quot;,\&quot;created_at\&quot;:\&quot;2021-02-20T12:26:38.813Z\&quot;,\&quot;last_posted_at\&quot;:\&quot;2021-02-20T15:35:02.868Z\&quot;,\&quot;bumped\&quot;:true,\&quot;bumped_at\&quot;:\&quot;2021-02-20T15:35:02.868Z\&quot;,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;unseen\&quot;:true,\&quot;pinned\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;bookmarked\&quot;:null,\&quot;liked\&quot;:null,\&quot;tags\&quot;:[\&quot;appium\&quot;,\&quot;pytest\&quot;],\&quot;like_count\&quot;:0,\&quot;views\&quot;:26,\&quot;category_id\&quot;:22,\&quot;featured_link\&quot;:null,\&quot;has_accepted_answer\&quot;:false,\&quot;posters\&quot;:[{\&quot;extras\&quot;:null,\&quot;description\&quot;:\&quot;原始作者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:3372,\&quot;username\&quot;:\&quot;332331564\&quot;,\&quot;name\&quot;:\&quot;贵丽\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/3/7c8e57/{size}.png\&quot;}},{\&quot;extras\&quot;:null,\&quot;description\&quot;:\&quot;频繁发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:3485,\&quot;username\&quot;:\&quot;825859332\&quot;,\&quot;name\&quot;:\&quot;小鹿\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/825859332/{size}/12501_2.png\&quot;}},{\&quot;extras\&quot;:\&quot;latest\&quot;,\&quot;description\&quot;:\&quot;最新发帖者\&quot;,\&quot;user\&quot;:{\&quot;id\&quot;:232,\&quot;username\&quot;:\&quot;xiaoxi\&quot;,\&quot;name\&quot;:\&quot;测开17期学委-晓兮\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/xiaoxi/{size}/693_2.png\&quot;}}]}],\&quot;tags\&quot;:[],\&quot;id\&quot;:5528,\&quot;title\&quot;:\&quot;测试开发班录播课程命令及URL汇总\&quot;,\&quot;fancy_title\&quot;:\&quot;测试开发班录播课程命令及URL汇总\&quot;,\&quot;posts_count\&quot;:7,\&quot;created_at\&quot;:\&quot;2020-08-18T06:03:56.849Z\&quot;,\&quot;views\&quot;:1493,\&quot;reply_count\&quot;:0,\&quot;like_count\&quot;:18,\&quot;last_posted_at\&quot;:\&quot;2021-01-09T13:36:53.489Z\&quot;,\&quot;visible\&quot;:true,\&quot;closed\&quot;:false,\&quot;archived\&quot;:false,\&quot;has_summary\&quot;:false,\&quot;archetype\&quot;:\&quot;regular\&quot;,\&quot;slug\&quot;:\&quot;topic\&quot;,\&quot;category_id\&quot;:7,\&quot;word_count\&quot;:2927,\&quot;deleted_at\&quot;:null,\&quot;user_id\&quot;:7,\&quot;featured_link\&quot;:null,\&quot;pinned_globally\&quot;:false,\&quot;pinned_at\&quot;:\&quot;2021-01-09T07:19:51.931Z\&quot;,\&quot;pinned_until\&quot;:\&quot;3021-01-09T00:00:00.000Z\&quot;,\&quot;image_url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9_2_1024x595.png\&quot;,\&quot;slow_mode_seconds\&quot;:0,\&quot;draft\&quot;:null,\&quot;draft_key\&quot;:\&quot;topic_5528\&quot;,\&quot;draft_sequence\&quot;:0,\&quot;posted\&quot;:false,\&quot;unpinned\&quot;:null,\&quot;pinned\&quot;:true,\&quot;current_post_number\&quot;:1,\&quot;highest_post_number\&quot;:7,\&quot;last_read_post_number\&quot;:null,\&quot;last_read_post_id\&quot;:null,\&quot;deleted_by\&quot;:null,\&quot;actions_summary\&quot;:[{\&quot;id\&quot;:4,\&quot;count\&quot;:0,\&quot;hidden\&quot;:false,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:8,\&quot;count\&quot;:0,\&quot;hidden\&quot;:false,\&quot;can_act\&quot;:true},{\&quot;id\&quot;:7,\&quot;count\&quot;:0,\&quot;hidden\&quot;:false,\&quot;can_act\&quot;:true}],\&quot;chunk_size\&quot;:20,\&quot;bookmarked\&quot;:false,\&quot;topic_timer\&quot;:null,\&quot;message_bus_last_id\&quot;:61,\&quot;participant_count\&quot;:4,\&quot;show_read_indicator\&quot;:false,\&quot;thumbnails\&quot;:[{\&quot;max_width\&quot;:null,\&quot;max_height\&quot;:null,\&quot;width\&quot;:1718,\&quot;height\&quot;:999,\&quot;url\&quot;:\&quot;https://ceshiren.com/uploads/default/original/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9.png\&quot;},{\&quot;max_width\&quot;:1024,\&quot;max_height\&quot;:1024,\&quot;width\&quot;:1024,\&quot;height\&quot;:595,\&quot;url\&quot;:\&quot;https://ceshiren.com/uploads/default/optimized/2X/3/3a7a5c9bd33e24059766529f4f2f94ac87f288c9_2_1024x595.png\&quot;}],\&quot;details\&quot;:{\&quot;notification_level\&quot;:1,\&quot;notifications_reason_id\&quot;:null,\&quot;can_create_post\&quot;:true,\&quot;can_reply_as_new_topic\&quot;:true,\&quot;can_flag_topic\&quot;:true,\&quot;participants\&quot;:[{\&quot;id\&quot;:7,\&quot;username\&quot;:\&quot;mayunlong\&quot;,\&quot;name\&quot;:\&quot;瓶子\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/mayunlong/{size}/9557_2.png\&quot;,\&quot;post_count\&quot;:1,\&quot;primary_group_name\&quot;:\&quot;ceba\&quot;,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_color\&quot;:\&quot;\&quot;,\&quot;primary_group_flair_bg_color\&quot;:\&quot;\&quot;},{\&quot;id\&quot;:1380,\&quot;username\&quot;:\&quot;Comeon\&quot;,\&quot;name\&quot;:\&quot;Comeon\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/c/76d3ee/{size}.png\&quot;,\&quot;post_count\&quot;:1,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null},{\&quot;id\&quot;:1404,\&quot;username\&quot;:\&quot;328441488\&quot;,\&quot;name\&quot;:\&quot;jackey\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/3/46a35a/{size}.png\&quot;,\&quot;post_count\&quot;:1,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null},{\&quot;id\&quot;:1485,\&quot;username\&quot;:\&quot;CaptainJi\&quot;,\&quot;name\&quot;:\&quot;16期学委-周杰偷\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/captainji/{size}/7581_2.png\&quot;,\&quot;post_count\&quot;:1,\&quot;primary_group_name\&quot;:null,\&quot;primary_group_flair_url\&quot;:null,\&quot;primary_group_flair_color\&quot;:null,\&quot;primary_group_flair_bg_color\&quot;:null}],\&quot;created_by\&quot;:{\&quot;id\&quot;:7,\&quot;username\&quot;:\&quot;mayunlong\&quot;,\&quot;name\&quot;:\&quot;瓶子\&quot;,\&quot;avatar_template\&quot;:\&quot;/user_avatar/ceshiren.com/mayunlong/{size}/9557_2.png\&quot;},\&quot;last_poster\&quot;:{\&quot;id\&quot;:1380,\&quot;username\&quot;:\&quot;Comeon\&quot;,\&quot;name\&quot;:\&quot;Comeon\&quot;,\&quot;avatar_template\&quot;:\&quot;/letter_avatar_proxy/v4/letter/c/76d3ee/{size}.png\&quot;},\&quot;links\&quot;:[{\&quot;url\&quot;:\&quot;https://tool.oschina.net/regex\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:74,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;tool.oschina.net\&quot;,\&quot;root_domain\&quot;:\&quot;oschina.net\&quot;},{\&quot;url\&quot;:\&quot;https://ceshiren.com/t/topic/57/4\&quot;,\&quot;title\&quot;:\&quot;Python和PyCharm环境安装配置\&quot;,\&quot;internal\&quot;:true,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:13,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;ceshiren.com\&quot;,\&quot;root_domain\&quot;:\&quot;ceshiren.com\&quot;},{\&quot;url\&quot;:\&quot;https://selenium-python.readthedocs.io/\&quot;,\&quot;title\&quot;:\&quot;Selenium with Python — Selenium Python Bindings 2 documentation\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:11,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;selenium-python.readthedocs.io\&quot;,\&quot;root_domain\&quot;:\&quot;readthedocs.io\&quot;},{\&quot;url\&quot;:\&quot;https://docs.python.org/3/tutorial/index.html\&quot;,\&quot;title\&quot;:\&quot;The Python Tutorial — Python 3.8.5 documentation\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:10,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;docs.python.org\&quot;,\&quot;root_domain\&quot;:\&quot;python.org\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/allure-framework/allure2/releases\&quot;,\&quot;title\&quot;:\&quot;Releases · allure-framework/allure2 · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:9,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.python.org/\&quot;,\&quot;title\&quot;:\&quot;Welcome to Python.org\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:9,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.python.org\&quot;,\&quot;root_domain\&quot;:\&quot;python.org\&quot;},{\&quot;url\&quot;:\&quot;https://demo.qameta.io/allure/#\&quot;,\&quot;title\&quot;:\&quot;Allure Report\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:8,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;demo.qameta.io\&quot;,\&quot;root_domain\&quot;:\&quot;qameta.io\&quot;},{\&quot;url\&quot;:\&quot;https://docs.python.org/zh-cn/3/library/string.html?highlight=template#string.Template\&quot;,\&quot;title\&quot;:\&quot;string --- 常见的字符串操作 — Python 3.8.5 文档\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:8,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;docs.python.org\&quot;,\&quot;root_domain\&quot;:\&quot;python.org\&quot;},{\&quot;url\&quot;:\&quot;https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:6,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;chrome.google.com\&quot;,\&quot;root_domain\&quot;:\&quot;google.com\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/SeleniumHQ/selenium-ide/releases\&quot;,\&quot;title\&quot;:\&quot;Releases · SeleniumHQ/selenium-ide · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:6,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/\&quot;,\&quot;title\&quot;:\&quot;SeleniumHQ Browser Automation\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:6,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/documentation/en/webdriver/driver_requirements/\&quot;,\&quot;title\&quot;:\&quot;Driver requirements :: Documentation for Selenium\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;},{\&quot;url\&quot;:\&quot;https://npm.taobao.org/mirrors/chromedriver/\&quot;,\&quot;title\&quot;:\&quot;ChromeDriver Mirror\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;npm.taobao.org\&quot;,\&quot;root_domain\&quot;:\&quot;taobao.org\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium-desktop/releases\&quot;,\&quot;title\&quot;:\&quot;Releases · appium/appium-desktop · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://mirrors.aliyun.com/pypi/simple/\&quot;,\&quot;title\&quot;:\&quot;Simple Index\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;mirrors.aliyun.com\&quot;,\&quot;root_domain\&quot;:\&quot;aliyun.com\&quot;},{\&quot;url\&quot;:\&quot;http://tools.android-studio.org/index.php/sdk\&quot;,\&quot;title\&quot;:\&quot;Android SDK 百度网盘下载地址链接\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;tools.android-studio.org\&quot;,\&quot;root_domain\&quot;:\&quot;android-studio.org\&quot;},{\&quot;url\&quot;:\&quot;http://www.oracle.com/technetwork/java/javase/downloads/index.html\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:5,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.oracle.com\&quot;,\&quot;root_domain\&quot;:\&quot;oracle.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.jetbrains.com/pycharm/download/\&quot;,\&quot;title\&quot;:\&quot;Download PyCharm: Python IDE for Professional Developers by JetBrains\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:4,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.jetbrains.com\&quot;,\&quot;root_domain\&quot;:\&quot;jetbrains.com\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/touch-actions.md\&quot;,\&quot;title\&quot;:\&quot;appium/touch-actions.md at master · appium/appium · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:4,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:4,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;developers.google.com\&quot;,\&quot;root_domain\&quot;:\&quot;google.com\&quot;},{\&quot;url\&quot;:\&quot;https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html#terminology\&quot;,\&quot;title\&quot;:\&quot;Apache JMeter - Apache JMeter Distributed Testing Step-by-step\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:4,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;jmeter.apache.org\&quot;,\&quot;root_domain\&quot;:\&quot;apache.org\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md\&quot;,\&quot;title\&quot;:\&quot;appium/chromedriver.md at master · appium/appium · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.w3school.com.cn/tiy/t.asp?f=html_frame_cols\&quot;,\&quot;title\&quot;:\&quot;W3School TIY Editor\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.w3school.com.cn\&quot;,\&quot;root_domain\&quot;:\&quot;w3school.com.cn\&quot;},{\&quot;url\&quot;:\&quot;https://www.runoob.com/python3/python3-assert.html\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.runoob.com\&quot;,\&quot;root_domain\&quot;:\&quot;runoob.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.postman.com/\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.postman.com\&quot;,\&quot;root_domain\&quot;:\&quot;postman.com\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/zhangzhao4444/Maxim\&quot;,\&quot;title\&quot;:\&quot;GitHub - zhangzhao4444/Maxim: 高速uiautomator控件解析算法的Android Monkey, 每秒10-15个Action Event。实现快速DFS算法的Android Monkey , 每秒 5个Action Event。\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:3,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus.yml\&quot;,\&quot;title\&quot;:\&quot;prometheus/prometheus.yml at master · prometheus/prometheus · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/hamcrest/PyHamcrest\&quot;,\&quot;title\&quot;:\&quot;GitHub - hamcrest/PyHamcrest: Hamcrest matchers for Python\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.charlesproxy.com/download/\&quot;,\&quot;title\&quot;:\&quot;Download a Free Trial of Charles • Charles Web Debugging Proxy\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.charlesproxy.com\&quot;,\&quot;root_domain\&quot;:\&quot;charlesproxy.com\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/faq\&quot;,\&quot;title\&quot;:\&quot;FAQ · Selenium IDE\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;},{\&quot;url\&quot;:\&quot;https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable\&quot;,\&quot;title\&quot;:\&quot;菜鸟教程在线编辑器\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.runoob.com\&quot;,\&quot;root_domain\&quot;:\&quot;runoob.com\&quot;},{\&quot;url\&quot;:\&quot;https://pypi.tuna.tsinghua.edu.cn/simple\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:2,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;pypi.tuna.tsinghua.edu.cn\&quot;,\&quot;root_domain\&quot;:\&quot;tsinghua.edu.cn\&quot;},{\&quot;url\&quot;:\&quot;https://selenium-python.readthedocs.io/api.html\&quot;,\&quot;title\&quot;:\&quot;7. WebDriver API — Selenium Python Bindings 2 documentation\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;selenium-python.readthedocs.io\&quot;,\&quot;root_domain\&quot;:\&quot;readthedocs.io\&quot;},{\&quot;url\&quot;:\&quot;https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/versions/\&quot;,\&quot;title\&quot;:\&quot;Selenium IDE version history - 25 versions – Add-ons for Firefox (en-GB)\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;addons.mozilla.org\&quot;,\&quot;root_domain\&quot;:\&quot;mozilla.org\&quot;},{\&quot;url\&quot;:\&quot;https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/\&quot;,\&quot;title\&quot;:\&quot;Selenium IDE – Get this Extension for 🦊 Firefox (en-US)\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;addons.mozilla.org\&quot;,\&quot;root_domain\&quot;:\&quot;mozilla.org\&quot;},{\&quot;url\&quot;:\&quot;https://developer.android.com/studio/index.html\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;developer.android.com\&quot;,\&quot;root_domain\&quot;:\&quot;android.com\&quot;},{\&quot;url\&quot;:\&quot;https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;developer.android.com\&quot;,\&quot;root_domain\&quot;:\&quot;android.com\&quot;},{\&quot;url\&quot;:\&quot;https://docs.qameta.io/allure/#\&quot;,\&quot;title\&quot;:\&quot;Allure Framework\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;docs.qameta.io\&quot;,\&quot;root_domain\&quot;:\&quot;qameta.io\&quot;},{\&quot;url\&quot;:\&quot;https://element.eleme.io/#/\&quot;,\&quot;title\&quot;:\&quot;Element - The world&#39;s most popular Vue UI framework\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;element.eleme.io\&quot;,\&quot;root_domain\&quot;:\&quot;eleme.io\&quot;},{\&quot;url\&quot;:\&quot;https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md\&quot;,\&quot;title\&quot;:\&quot;appium/caps.md at master · appium/appium · GitHub\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;github.com\&quot;,\&quot;root_domain\&quot;:\&quot;github.com\&quot;},{\&quot;url\&quot;:\&quot;https://grafana.com/grafana/dashboards/8919\&quot;,\&quot;title\&quot;:\&quot;1 Node Exporter for Prometheus Dashboard CN v20200628 dashboard for Grafana | Grafana Labs\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;grafana.com\&quot;,\&quot;root_domain\&quot;:\&quot;grafana.com\&quot;},{\&quot;url\&quot;:\&quot;https://martinfowler.com/bliki/PageObject.html\&quot;,\&quot;title\&quot;:\&quot;PageObject\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;martinfowler.com\&quot;,\&quot;root_domain\&quot;:\&quot;martinfowler.com\&quot;},{\&quot;url\&quot;:\&quot;https://nodejs.org/zh-cn/download/\&quot;,\&quot;title\&quot;:\&quot;下载 | Node.js\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;nodejs.org\&quot;,\&quot;root_domain\&quot;:\&quot;nodejs.org\&quot;},{\&quot;url\&quot;:\&quot;http://allure.qatools.ru/\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;allure.qatools.ru\&quot;,\&quot;root_domain\&quot;:\&quot;qatools.ru\&quot;},{\&quot;url\&quot;:\&quot;https://start.spring.io/\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;start.spring.io\&quot;,\&quot;root_domain\&quot;:\&quot;spring.io\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/\&quot;,\&quot;title\&quot;:null,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html\&quot;,\&quot;title\&quot;:\&quot;selenium.webdriver.common.touch_actions — Selenium 3.14 documentation\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;},{\&quot;url\&quot;:\&quot;https://www.selenium.dev/selenium-ide/docs/en/introduction/code-export\&quot;,\&quot;title\&quot;:\&quot;Code Export · Selenium IDE\&quot;,\&quot;internal\&quot;:false,\&quot;attachment\&quot;:false,\&quot;reflection\&quot;:false,\&quot;clicks\&quot;:1,\&quot;user_id\&quot;:7,\&quot;domain\&quot;:\&quot;www.selenium.dev\&quot;,\&quot;root_domain\&quot;:\&quot;selenium.dev\&quot;}]},\&quot;pending_posts\&quot;:[]}&quot;}"></div>
    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/start-discourse-efa4e5abfbd1b50b5152ffbe64d5dcea9f7c33f766dcc6387e2711f0f2112148.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/start-discourse-efa4e5abfbd1b50b5152ffbe64d5dcea9f7c33f766dcc6387e2711f0f2112148.js.下载"></script>


    

    <link rel="preload" href="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/browser-update-8b24a10790024181b3d72df0923f969c37ab00416015928e02252c5ad69d68ee.js.下载" as="script">
<script src="./测试开发班录播课程命令及URL汇总 - Python测试开发班 - 测试人社区_files/browser-update-8b24a10790024181b3d72df0923f969c37ab00416015928e02252c5ad69d68ee.js.下载"></script>


      
    
  

<div id="svg-sprites"><div class="fontawesome"><!--
Discourse SVG subset of Font Awesome Free by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="fab-android" viewBox="0 0 448 512">
  <path d="M89.6 204.5v115.8c0 15.4-12.1 27.7-27.5 27.7-15.3 0-30.1-12.4-30.1-27.7V204.5c0-15.1 14.8-27.5 30.1-27.5 15.1 0 27.5 12.4 27.5 27.5zm10.8 157c0 16.4 13.2 29.6 29.6 29.6h19.9l.3 61.1c0 36.9 55.2 36.6 55.2 0v-61.1h37.2v61.1c0 36.7 55.5 36.8 55.5 0v-61.1h20.2c16.2 0 29.4-13.2 29.4-29.6V182.1H100.4v179.4zm248-189.1H99.3c0-42.8 25.6-80 63.6-99.4l-19.1-35.3c-2.8-4.9 4.3-8 6.7-3.8l19.4 35.6c34.9-15.5 75-14.7 108.3 0L297.5 34c2.5-4.3 9.5-1.1 6.7 3.8L285.1 73c37.7 19.4 63.3 56.6 63.3 99.4zm-170.7-55.5c0-5.7-4.6-10.5-10.5-10.5-5.7 0-10.2 4.8-10.2 10.5s4.6 10.5 10.2 10.5c5.9 0 10.5-4.8 10.5-10.5zm113.4 0c0-5.7-4.6-10.5-10.2-10.5-5.9 0-10.5 4.8-10.5 10.5s4.6 10.5 10.5 10.5c5.6 0 10.2-4.8 10.2-10.5zm94.8 60.1c-15.1 0-27.5 12.1-27.5 27.5v115.8c0 15.4 12.4 27.7 27.5 27.7 15.4 0 30.1-12.4 30.1-27.7V204.5c0-15.4-14.8-27.5-30.1-27.5z"></path>
</symbol><symbol id="fab-apple" viewBox="0 0 384 512">
  <path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"></path>
</symbol><symbol id="fab-chrome" viewBox="0 0 496 512">
  <path d="M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z"></path>
</symbol><symbol id="fab-discord" viewBox="0 0 448 512">
  <path d="M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z"></path>
</symbol><symbol id="fab-discourse" viewBox="0 0 448 512">
  <path d="M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"></path>
</symbol><symbol id="fab-facebook" viewBox="0 0 512 512">
  <path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path>
</symbol><symbol id="fab-facebook-square" viewBox="0 0 448 512">
  <path d="M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"></path>
</symbol><symbol id="fab-github" viewBox="0 0 496 512">
  <path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path>
</symbol><symbol id="fab-instagram" viewBox="0 0 448 512">
  <path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path>
</symbol><symbol id="fab-linux" viewBox="0 0 448 512">
  <path d="M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"></path>
</symbol><symbol id="fab-twitter" viewBox="0 0 512 512">
  <path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path>
</symbol><symbol id="fab-twitter-square" viewBox="0 0 448 512">
  <path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"></path>
</symbol><symbol id="fab-windows" viewBox="0 0 448 512">
  <path d="M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"></path>
</symbol><symbol id="fab-youtube" viewBox="0 0 576 512">
  <path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path>
</symbol><symbol id="far-bell" viewBox="0 0 448 512">
  <path d="M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z"></path>
</symbol><symbol id="far-bell-slash" viewBox="0 0 640 512">
  <path d="M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"></path>
</symbol><symbol id="far-calendar-plus" viewBox="0 0 448 512">
  <path d="M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"></path>
</symbol><symbol id="far-chart-bar" viewBox="0 0 512 512">
  <path d="M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z"></path>
</symbol><symbol id="far-check-circle" viewBox="0 0 512 512">
  <path d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"></path>
</symbol><symbol id="far-check-square" viewBox="0 0 448 512">
  <path d="M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z"></path>
</symbol><symbol id="far-circle" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"></path>
</symbol><symbol id="far-clipboard" viewBox="0 0 384 512">
  <path d="M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z"></path>
</symbol><symbol id="far-clock" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"></path>
</symbol><symbol id="far-comment" viewBox="0 0 512 512">
  <path d="M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z"></path>
</symbol><symbol id="far-copyright" viewBox="0 0 512 512">
  <path d="M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z"></path>
</symbol><symbol id="far-dot-circle" viewBox="0 0 512 512">
  <path d="M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z"></path>
</symbol><symbol id="far-edit" viewBox="0 0 576 512">
  <path d="M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"></path>
</symbol><symbol id="far-envelope" viewBox="0 0 512 512">
  <path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"></path>
</symbol><symbol id="far-eye" viewBox="0 0 576 512">
  <path d="M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z"></path>
</symbol><symbol id="far-eye-slash" viewBox="0 0 640 512">
  <path d="M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z"></path>
</symbol><symbol id="far-file-alt" viewBox="0 0 384 512">
  <path d="M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"></path>
</symbol><symbol id="far-frown" viewBox="0 0 496 512">
  <path d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"></path>
</symbol><symbol id="far-heart" viewBox="0 0 512 512">
  <path d="M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"></path>
</symbol><symbol id="far-image" viewBox="0 0 512 512">
  <path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"></path>
</symbol><symbol id="far-list-alt" viewBox="0 0 512 512">
  <path d="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z"></path>
</symbol><symbol id="far-meh" viewBox="0 0 496 512">
  <path d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z"></path>
</symbol><symbol id="far-moon" viewBox="0 0 512 512">
  <path d="M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z"></path>
</symbol><symbol id="far-smile" viewBox="0 0 496 512">
  <path d="M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"></path>
</symbol><symbol id="far-square" viewBox="0 0 448 512">
  <path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"></path>
</symbol><symbol id="far-sun" viewBox="0 0 512 512">
  <path d="M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z"></path>
</symbol><symbol id="far-thumbs-down" viewBox="0 0 512 512">
  <path d="M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z"></path>
</symbol><symbol id="far-thumbs-up" viewBox="0 0 512 512">
  <path d="M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"></path>
</symbol><symbol id="far-trash-alt" viewBox="0 0 448 512">
  <path d="M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z"></path>
</symbol><symbol id="address-book" viewBox="0 0 448 512">
  <path d="M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"></path>
</symbol><symbol id="adjust" viewBox="0 0 512 512">
  <path d="M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"></path>
</symbol><symbol id="align-left" viewBox="0 0 448 512">
  <path d="M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"></path>
</symbol><symbol id="ambulance" viewBox="0 0 640 512">
  <path d="M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"></path>
</symbol><symbol id="anchor" viewBox="0 0 576 512">
  <path d="M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"></path>
</symbol><symbol id="angle-double-down" viewBox="0 0 320 512">
  <path d="M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"></path>
</symbol><symbol id="angle-double-left" viewBox="0 0 448 512">
  <path d="M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"></path>
</symbol><symbol id="angle-double-right" viewBox="0 0 448 512">
  <path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"></path>
</symbol><symbol id="angle-double-up" viewBox="0 0 320 512">
  <path d="M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"></path>
</symbol><symbol id="angle-down" viewBox="0 0 320 512">
  <path d="M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"></path>
</symbol><symbol id="angle-right" viewBox="0 0 256 512">
  <path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"></path>
</symbol><symbol id="angle-up" viewBox="0 0 320 512">
  <path d="M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"></path>
</symbol><symbol id="archive" viewBox="0 0 512 512">
  <path d="M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"></path>
</symbol><symbol id="arrow-down" viewBox="0 0 448 512">
  <path d="M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"></path>
</symbol><symbol id="arrow-left" viewBox="0 0 448 512">
  <path d="M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"></path>
</symbol><symbol id="arrow-up" viewBox="0 0 448 512">
  <path d="M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"></path>
</symbol><symbol id="arrows-alt-h" viewBox="0 0 512 512">
  <path d="M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"></path>
</symbol><symbol id="arrows-alt-v" viewBox="0 0 256 512">
  <path d="M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"></path>
</symbol><symbol id="asterisk" viewBox="0 0 512 512">
  <path d="M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"></path>
</symbol><symbol id="at" viewBox="0 0 512 512">
  <path d="M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"></path>
</symbol><symbol id="backward" viewBox="0 0 512 512">
  <path d="M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"></path>
</symbol><symbol id="ban" viewBox="0 0 512 512">
  <path d="M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"></path>
</symbol><symbol id="bars" viewBox="0 0 448 512">
  <path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"></path>
</symbol><symbol id="bed" viewBox="0 0 640 512">
  <path d="M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"></path>
</symbol><symbol id="bell" viewBox="0 0 448 512">
  <path d="M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"></path>
</symbol><symbol id="bell-slash" viewBox="0 0 640 512">
  <path d="M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"></path>
</symbol><symbol id="birthday-cake" viewBox="0 0 448 512">
  <path d="M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"></path>
</symbol><symbol id="bold" viewBox="0 0 384 512">
  <path d="M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"></path>
</symbol><symbol id="book" viewBox="0 0 448 512">
  <path d="M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"></path>
</symbol><symbol id="book-reader" viewBox="0 0 512 512">
  <path d="M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"></path>
</symbol><symbol id="bookmark" viewBox="0 0 384 512">
  <path d="M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"></path>
</symbol><symbol id="briefcase" viewBox="0 0 512 512">
  <path d="M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"></path>
</symbol><symbol id="calendar-alt" viewBox="0 0 448 512">
  <path d="M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"></path>
</symbol><symbol id="caret-down" viewBox="0 0 320 512">
  <path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"></path>
</symbol><symbol id="caret-left" viewBox="0 0 192 512">
  <path d="M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"></path>
</symbol><symbol id="caret-right" viewBox="0 0 192 512">
  <path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path>
</symbol><symbol id="caret-up" viewBox="0 0 320 512">
  <path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path>
</symbol><symbol id="certificate" viewBox="0 0 512 512">
  <path d="M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"></path>
</symbol><symbol id="chart-bar" viewBox="0 0 512 512">
  <path d="M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"></path>
</symbol><symbol id="chart-pie" viewBox="0 0 544 512">
  <path d="M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"></path>
</symbol><symbol id="check" viewBox="0 0 512 512">
  <path d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path>
</symbol><symbol id="check-circle" viewBox="0 0 512 512">
  <path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"></path>
</symbol><symbol id="check-square" viewBox="0 0 448 512">
  <path d="M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"></path>
</symbol><symbol id="chevron-down" viewBox="0 0 448 512">
  <path d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"></path>
</symbol><symbol id="chevron-left" viewBox="0 0 320 512">
  <path d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"></path>
</symbol><symbol id="chevron-right" viewBox="0 0 320 512">
  <path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path>
</symbol><symbol id="chevron-up" viewBox="0 0 448 512">
  <path d="M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"></path>
</symbol><symbol id="circle" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"></path>
</symbol><symbol id="code" viewBox="0 0 640 512">
  <path d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"></path>
</symbol><symbol id="cog" viewBox="0 0 512 512">
  <path d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"></path>
</symbol><symbol id="columns" viewBox="0 0 512 512">
  <path d="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"></path>
</symbol><symbol id="comment" viewBox="0 0 512 512">
  <path d="M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z"></path>
</symbol><symbol id="compress" viewBox="0 0 448 512">
  <path d="M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"></path>
</symbol><symbol id="copy" viewBox="0 0 448 512">
  <path d="M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"></path>
</symbol><symbol id="crosshairs" viewBox="0 0 512 512">
  <path d="M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"></path>
</symbol><symbol id="cube" viewBox="0 0 512 512">
  <path d="M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"></path>
</symbol><symbol id="desktop" viewBox="0 0 576 512">
  <path d="M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"></path>
</symbol><symbol id="download" viewBox="0 0 512 512">
  <path d="M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"></path>
</symbol><symbol id="ellipsis-h" viewBox="0 0 512 512">
  <path d="M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"></path>
</symbol><symbol id="ellipsis-v" viewBox="0 0 192 512">
  <path d="M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"></path>
</symbol><symbol id="envelope" viewBox="0 0 512 512">
  <path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path>
</symbol><symbol id="envelope-square" viewBox="0 0 448 512">
  <path d="M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"></path>
</symbol><symbol id="exchange-alt" viewBox="0 0 512 512">
  <path d="M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"></path>
</symbol><symbol id="exclamation-circle" viewBox="0 0 512 512">
  <path d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"></path>
</symbol><symbol id="exclamation-triangle" viewBox="0 0 576 512">
  <path d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"></path>
</symbol><symbol id="external-link-alt" viewBox="0 0 512 512">
  <path d="M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"></path>
</symbol><symbol id="fast-backward" viewBox="0 0 512 512">
  <path d="M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"></path>
</symbol><symbol id="fast-forward" viewBox="0 0 512 512">
  <path d="M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"></path>
</symbol><symbol id="file" viewBox="0 0 384 512">
  <path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"></path>
</symbol><symbol id="file-alt" viewBox="0 0 384 512">
  <path d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"></path>
</symbol><symbol id="filter" viewBox="0 0 512 512">
  <path d="M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"></path>
</symbol><symbol id="flag" viewBox="0 0 512 512">
  <path d="M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"></path>
</symbol><symbol id="folder" viewBox="0 0 512 512">
  <path d="M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"></path>
</symbol><symbol id="folder-open" viewBox="0 0 576 512">
  <path d="M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"></path>
</symbol><symbol id="forward" viewBox="0 0 512 512">
  <path d="M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"></path>
</symbol><symbol id="gavel" viewBox="0 0 512 512">
  <path d="M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"></path>
</symbol><symbol id="gem" viewBox="0 0 576 512">
  <path d="M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"></path>
</symbol><symbol id="globe" viewBox="0 0 496 512">
  <path d="M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"></path>
</symbol><symbol id="globe-americas" viewBox="0 0 496 512">
  <path d="M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z"></path>
</symbol><symbol id="hand-point-right" viewBox="0 0 512 512">
  <path d="M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"></path>
</symbol><symbol id="hands-helping" viewBox="0 0 640 512">
  <path d="M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z"></path>
</symbol><symbol id="hashtag" viewBox="0 0 448 512">
  <path d="M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"></path>
</symbol><symbol id="heading" viewBox="0 0 512 512">
  <path d="M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z"></path>
</symbol><symbol id="heart" viewBox="0 0 512 512">
  <path d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"></path>
</symbol><symbol id="history" viewBox="0 0 512 512">
  <path d="M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"></path>
</symbol><symbol id="home" viewBox="0 0 576 512">
  <path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path>
</symbol><symbol id="hourglass-start" viewBox="0 0 384 512">
  <path d="M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"></path>
</symbol><symbol id="id-card" viewBox="0 0 576 512">
  <path d="M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z"></path>
</symbol><symbol id="info-circle" viewBox="0 0 512 512">
  <path d="M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"></path>
</symbol><symbol id="italic" viewBox="0 0 320 512">
  <path d="M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"></path>
</symbol><symbol id="key" viewBox="0 0 512 512">
  <path d="M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"></path>
</symbol><symbol id="link" viewBox="0 0 512 512">
  <path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path>
</symbol><symbol id="list" viewBox="0 0 512 512">
  <path d="M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"></path>
</symbol><symbol id="list-ol" viewBox="0 0 512 512">
  <path d="M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z"></path>
</symbol><symbol id="list-ul" viewBox="0 0 512 512">
  <path d="M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"></path>
</symbol><symbol id="lock" viewBox="0 0 448 512">
  <path d="M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"></path>
</symbol><symbol id="magic" viewBox="0 0 512 512">
  <path d="M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z"></path>
</symbol><symbol id="map-marker-alt" viewBox="0 0 384 512">
  <path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path>
</symbol><symbol id="microphone-slash" viewBox="0 0 640 512">
  <path d="M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"></path>
</symbol><symbol id="minus" viewBox="0 0 448 512">
  <path d="M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"></path>
</symbol><symbol id="minus-circle" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"></path>
</symbol><symbol id="mobile-alt" viewBox="0 0 320 512">
  <path d="M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"></path>
</symbol><symbol id="paint-brush" viewBox="0 0 512 512">
  <path d="M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"></path>
</symbol><symbol id="paper-plane" viewBox="0 0 512 512">
  <path d="M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"></path>
</symbol><symbol id="pencil-alt" viewBox="0 0 512 512">
  <path d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"></path>
</symbol><symbol id="play" viewBox="0 0 448 512">
  <path d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"></path>
</symbol><symbol id="plug" viewBox="0 0 384 512">
  <path d="M256 144V32c0-17.673 14.327-32 32-32s32 14.327 32 32v112h-64zm112 16H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h16v32c0 77.406 54.969 141.971 128 156.796V512h64v-99.204c73.031-14.825 128-79.39 128-156.796v-32h16c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm-240-16V32c0-17.673-14.327-32-32-32S64 14.327 64 32v112h64z"></path>
</symbol><symbol id="plus" viewBox="0 0 448 512">
  <path d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"></path>
</symbol><symbol id="plus-circle" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"></path>
</symbol><symbol id="plus-square" viewBox="0 0 448 512">
  <path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"></path>
</symbol><symbol id="power-off" viewBox="0 0 512 512">
  <path d="M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"></path>
</symbol><symbol id="puzzle-piece" viewBox="0 0 576 512">
  <path d="M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"></path>
</symbol><symbol id="question" viewBox="0 0 384 512">
  <path d="M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"></path>
</symbol><symbol id="question-circle" viewBox="0 0 512 512">
  <path d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"></path>
</symbol><symbol id="quote-left" viewBox="0 0 512 512">
  <path d="M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"></path>
</symbol><symbol id="quote-right" viewBox="0 0 512 512">
  <path d="M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"></path>
</symbol><symbol id="random" viewBox="0 0 512 512">
  <path d="M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"></path>
</symbol><symbol id="redo" viewBox="0 0 512 512">
  <path d="M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"></path>
</symbol><symbol id="reply" viewBox="0 0 512 512">
  <path d="M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"></path>
</symbol><symbol id="rocket" viewBox="0 0 512 512">
  <path d="M505.05 19.1a15.89 15.89 0 0 0-12.2-12.2C460.65 0 435.46 0 410.36 0c-103.2 0-165.1 55.2-211.29 128H94.87A48 48 0 0 0 52 154.49l-49.42 98.8A24 24 0 0 0 24.07 288h103.77l-22.47 22.47a32 32 0 0 0 0 45.25l50.9 50.91a32 32 0 0 0 45.26 0L224 384.16V488a24 24 0 0 0 34.7 21.49l98.7-49.39a47.91 47.91 0 0 0 26.5-42.9V312.79c72.59-46.3 128-108.4 128-211.09.1-25.2.1-50.4-6.85-82.6zM384 168a40 40 0 1 1 40-40 40 40 0 0 1-40 40z"></path>
</symbol><symbol id="school" viewBox="0 0 640 512">
  <path d="M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z"></path>
</symbol><symbol id="search" viewBox="0 0 512 512">
  <path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path>
</symbol><symbol id="share" viewBox="0 0 512 512">
  <path d="M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"></path>
</symbol><symbol id="shield-alt" viewBox="0 0 512 512">
  <path d="M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"></path>
</symbol><symbol id="shower" viewBox="0 0 512 512">
  <path d="M389.66 135.6L231.6 293.66c-9.37 9.37-24.57 9.37-33.94 0l-11.32-11.32c-9.37-9.37-9.37-24.57 0-33.94l.11-.11c-34.03-40.21-35.16-98.94-3.39-140.38-11.97-7.55-26.14-11.91-41.3-11.91C98.88 96 64 130.88 64 173.76V480H0V173.76C0 95.59 63.59 32 141.76 32c36.93 0 70.61 14.2 95.86 37.42 35.9-11.51 76.5-4.5 106.67 21.03l.11-.11c9.37-9.37 24.57-9.37 33.94 0l11.32 11.32c9.37 9.37 9.37 24.57 0 33.94zM384 208c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm48-16c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm80 16c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-128 32c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-96 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm64 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16z"></path>
</symbol><symbol id="sign-in-alt" viewBox="0 0 512 512">
  <path d="M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"></path>
</symbol><symbol id="sign-out-alt" viewBox="0 0 512 512">
  <path d="M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"></path>
</symbol><symbol id="signal" viewBox="0 0 640 512">
  <path d="M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"></path>
</symbol><symbol id="spinner" viewBox="0 0 512 512">
  <path d="M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"></path>
</symbol><symbol id="star" viewBox="0 0 576 512">
  <path d="M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"></path>
</symbol><symbol id="step-backward" viewBox="0 0 448 512">
  <path d="M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"></path>
</symbol><symbol id="step-forward" viewBox="0 0 448 512">
  <path d="M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"></path>
</symbol><symbol id="stopwatch" viewBox="0 0 448 512">
  <path d="M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"></path>
</symbol><symbol id="stream" viewBox="0 0 512 512">
  <path d="M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z"></path>
</symbol><symbol id="sync" viewBox="0 0 512 512">
  <path d="M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"></path>
</symbol><symbol id="sync-alt" viewBox="0 0 512 512">
  <path d="M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"></path>
</symbol><symbol id="table" viewBox="0 0 512 512">
  <path d="M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"></path>
</symbol><symbol id="tag" viewBox="0 0 512 512">
  <path d="M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"></path>
</symbol><symbol id="tasks" viewBox="0 0 512 512">
  <path d="M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"></path>
</symbol><symbol id="thermometer-three-quarters" viewBox="0 0 256 512">
  <path d="M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"></path>
</symbol><symbol id="thumbs-down" viewBox="0 0 512 512">
  <path d="M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"></path>
</symbol><symbol id="thumbs-up" viewBox="0 0 512 512">
  <path d="M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"></path>
</symbol><symbol id="thumbtack" viewBox="0 0 384 512">
  <path d="M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"></path>
</symbol><symbol id="times" viewBox="0 0 352 512">
  <path d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path>
</symbol><symbol id="times-circle" viewBox="0 0 512 512">
  <path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"></path>
</symbol><symbol id="trash-alt" viewBox="0 0 448 512">
  <path d="M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"></path>
</symbol><symbol id="tv" viewBox="0 0 640 512">
  <path d="M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z"></path>
</symbol><symbol id="undo" viewBox="0 0 512 512">
  <path d="M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"></path>
</symbol><symbol id="unlink" viewBox="0 0 512 512">
  <path d="M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"></path>
</symbol><symbol id="unlock" viewBox="0 0 448 512">
  <path d="M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"></path>
</symbol><symbol id="unlock-alt" viewBox="0 0 448 512">
  <path d="M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"></path>
</symbol><symbol id="upload" viewBox="0 0 512 512">
  <path d="M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"></path>
</symbol><symbol id="user" viewBox="0 0 448 512">
  <path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path>
</symbol><symbol id="user-edit" viewBox="0 0 640 512">
  <path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z"></path>
</symbol><symbol id="user-plus" viewBox="0 0 640 512">
  <path d="M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path>
</symbol><symbol id="user-secret" viewBox="0 0 448 512">
  <path d="M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"></path>
</symbol><symbol id="user-shield" viewBox="0 0 640 512">
  <path d="M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"></path>
</symbol><symbol id="user-times" viewBox="0 0 640 512">
  <path d="M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path>
</symbol><symbol id="users" viewBox="0 0 640 512">
  <path d="M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"></path>
</symbol><symbol id="wrench" viewBox="0 0 512 512">
  <path d="M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"></path>
</symbol><symbol id="discourse-compress" viewBox="0 0 1792 1792">
  <path d="M896 960v448q0 26-19 45t-45 19-45-19l-144-144-332 332q-10 10-23 10t-23-10l-114-114q-10-10-10-23t10-23l332-332-144-144q-19-19-19-45t19-45 45-19h448q26 0 45 19t19 45zm755-672q0 13-10 23l-332 332 144 144q19 19 19 45t-19 45-45 19h-448q-26 0-45-19t-19-45v-448q0-26 19-45t45-19 45 19l144 144 332-332q10-10 23-10t23 10l114 114q10 10 10 23z"></path>
</symbol><symbol id="discourse-expand" viewBox="0 0 1792 1792">
  <path d="M883 1056q0 13-10 23l-332 332 144 144q19 19 19 45t-19 45-45 19h-448q-26 0-45-19t-19-45v-448q0-26 19-45t45-19 45 19l144 144 332-332q10-10 23-10t23 10l114 114q10 10 10 23zm781-864v448q0 26-19 45t-45 19-45-19l-144-144-332 332q-10 10-23 10t-23-10l-114-114q-10-10-10-23t10-23l332-332-144-144q-19-19-19-45t19-45 45-19h448q26 0 45 19t19 45z"></path>
</symbol><symbol id="discourse-bookmark-clock" viewBox="0 0 536 512">
  <path d="M215.86 143.33A168.09 168.09 0 01296 0H48A48 48 0 000 48v464l192-112 192 112V315.53c-94-.04-168.14-79.33-168.14-172.2z M392.45 0a144 144 0 10144 144 143.91 143.91 0 00-144-144zm64 150.3a9.77 9.77 0 01-9.7 9.7h-60.6a9.77 9.77 0 01-9.7-9.7V73.7a9.77 9.77 0 019.7-9.7h12.6a9.77 9.77 0 019.7 9.7V128h38.3a9.77 9.77 0 019.7 9.7z"></path>
</symbol><symbol id="discourse-bell-exclamation" viewBox="0 0 448 512">
  <path d="M439.4 362.3c-19.3-20.8-55.5-52-55.5-154.3 0-77.7-54.5-139.9-127.9-155.2V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v20.8C118.6 68.1 64.1 130.3 64.1 208c0 102.3-36.2 133.5-55.5 154.3-6 6.4-8.6 14.1-8.6 21.7.1 16.4 13 32 32.1 32h383.8c19.1 0 32-15.6 32.1-32 .1-7.6-2.6-15.3-8.6-21.7zM201.7 116.6h44.6c6.5 0 11.7 5.5 11.4 12l-6.5 123.8c-.3 6.1-5.3 10.9-11.4 10.9h-31.6c-6.1 0-11.1-4.8-11.4-10.9l-6.5-123.8c-.3-6.6 4.9-12 11.4-12zM224 361.3c-18.6 0-33.7-15.1-33.7-33.7s15.1-33.7 33.7-33.7 33.7 15.1 33.7 33.7-15.1 33.7-33.7 33.7zM224 512c35.3 0 64-28.7 64-64H160c0 35.3 28.7 64 64 64z"></path>
</symbol><symbol id="discourse-bell-one" viewBox="0 0 448 512">
  <path d="M224 512c35.3 0 64-28.7 64-64H160c0 35.3 28.7 64 64 64zM439.4 362.3c-19.3-20.8-55.5-52-55.5-154.3 0-77.7-54.5-139.9-127.9-155.2V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v20.8C118.6 68.1 64.1 130.3 64.1 208c0 102.3-36.2 133.5-55.5 154.3-6 6.4-8.6 14.1-8.6 21.7.1 16.4 13 32 32.1 32h383.8c19.1 0 32-15.6 32.1-32 .1-7.6-2.6-15.3-8.6-21.7zm-145.2-28c0 8.6-7 15.5-15.5 15.5h-97c-8.6 0-15.5-7-15.5-15.5v-15.8c0-8.6 7-15.5 15.5-15.5h27.1V192.5l-5.1 3.1c-6 6.1-15.9 6.2-22 .1l-11.2-11.1c-6.1-6-6.2-15.9-.1-22l31.6-31.9c3.2-3.2 7.4-4.7 11.5-4.6h26.6c8.6 0 11.5 7 11.5 15.5v161.3h27.1c8.6 0 15.5 7 15.5 15.5v15.9z"></path>
</symbol><symbol id="discourse-bell-slash" viewBox="0 0 448 512">
  <path d="M442.7 396.2L36.5 70.7c-6.9-5.5-17-4.4-22.5 2.5L4 85.6c-5.5 6.9-4.4 17 2.5 22.5l406.2 325.5c6.9 5.5 17 4.4 22.5-2.5l10-12.5c5.5-6.9 3.7-17.7-3.2-23.2l.7.8zM67.5 368c16.7-22 34.5-55.8 41.4-110.6l-45.5-35.6C60.2 312.6 27 342.5 8.6 362.3 2.6 368.7 0 376.4 0 384c.1 16.4 13 32 32.1 32h279.7l-61.4-48H67.5zM224 96c61.9 0 112 50.1 112 112 0 .2-.1.4-.1.6 0 16.8 1.2 31.8 2.8 45.7l59.5 46.5c-8.3-22.1-14.3-51.5-14.3-92.9 0-77.7-54.5-139.9-127.9-155.2V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v20.8c-26 5.4-49.4 16.9-69.1 32.7l38.2 29.8C179 103.2 200.6 96 224 96zm0 416c35.3 0 64-28.6 64-64H160c0 35.4 28.7 64 64 64z"></path>
</symbol></svg></div></div><div></div></body></html>